Difference between revisions of "Template:Size"
Jump to navigation
Jump to search
Kevin Wang (talk | contribs) m |
Kevin Wang (talk | contribs) |
||
| Line 1: | Line 1: | ||
| − | <includeonly>{{#vardefine:page|{{{1}}}}}{{#vardefine:minindex| | + | <includeonly>{{#vardefine:page|{{{1}}}}}{{#vardefine:minindex|0}}{{#vardefine:maxindex|1}}<!-- |
| − | {{#while: | + | Find the upper bound of the size in steps of 2^n |
| + | -->{{#while: | ||
|{{{{#var:page}}|{{#var:maxindex}}}} | |{{{{#var:page}}|{{#var:maxindex}}}} | ||
|{{#vardefine:minindex|{{#var:maxindex}}}}{{Multiply|maxindex|2}} | |{{#vardefine:minindex|{{#var:maxindex}}}}{{Multiply|maxindex|2}} | ||
| − | }}{{#vardefine:index|{{#expr:floor(({{#var:maxindex}}+{{#var:minindex}})/2)}}}}{{# | + | }}{{#vardefine:index|{{#expr:floor(({{#var:maxindex}}+{{#var:minindex}})/2)}}}}<!-- |
| − | |{{#ifexpr:{{#var: | + | Perform a binary search between [2^n-1, 2^n] to find the last element of the list |
| − | |{{#if:{{{{#var:page}}|{{#var:index}}}} | + | -->{{#while: |
| − | <!--undershoot--> | + | |{{#ifexpr:{{#var:minindex}}+1<{{#var:maxindex}}|true}} |
| − | <!-- overshoot--> | + | | |
| + | {{#if:{{{{#var:page}}|{{#var:index}}}} | ||
| + | <!--undershoot-->|{{#vardefine:minindex|{{#var:index}}}} | ||
| + | <!-- overshoot-->|{{#vardefine:maxindex|{{#var:index}}}} | ||
}} | }} | ||
| − | + | {{#vardefine:index|{{#expr:floor(({{#var:maxindex}}+{{#var:minindex}})/2)}}}} | |
| + | }}{{#var:index}}</includeonly><noinclude> | ||
Get size of list | Get size of list | ||
Revision as of 14:46, 8 December 2025
Get size of list
| list | size |
|---|---|
| Quick links lingo | 5 |
| Anecdote | 0 |