• 面试题吐槽系列之一


    问题

    “递归反转栈——只使用常数量个变量”,这个问题就这一句话

    解答

    我们要反转一个栈,如果使用另外一个栈作为辅助的话,那么反转起来很简单,一个接一个push到辅助栈里再push回来就行了。那么假如不能使用辅助栈,数组等空间为O(n)的数据结构,只使用O(1)的空间复杂度即只能有常数个变量,怎么实现将栈反转?即原来的栈顶在栈底,栈底变成栈顶。

    画图表示大概是这样的:

    • 首先假设栈里面从栈底到栈顶存储的依次是 1 2 3 4 5,我们反转以后希望得到的结果是 5 4 3 2 1.
    • 第一步pop出来第一个数5,存到temp1中,此时的栈中由下到上是1 2 3 4。
    • 递归调用自身,不用考虑具体的过程,我们只需要知道这个递归调用结束后得到的结果是使栈中的元素变成了由下到上 4 3 2 1(因为这个函数本身的意思就是反转栈)。
    • 此时pop出来第二个数1 ,存到temp2中,此时的栈中由下到上是 4 3 2。
    • 再递归调用本身,抽象考虑这个递归完成后得到的结果是栈中的值变成了 2 3 4。
    • 接着我们把push(temp1),栈变成了 2 3 4 5。
    • 接着递归调用本身,递归完成后栈变成了 5 4 3 2。
    • 接着push(temp2)。好了,栈变成了 5 4 3 2 1,反转完成!

    =====================华丽的分割线=============================

    吐槽

    以上的解答过程摘抄自某博客,这个问题是面试经常遇到的问题。首先来看解答过程是正常的,面试官也是希望看你这样回答。下面我们来详细的分析一下这个问题,问题其实就是栈的反转,或者叫栈的逆制,不过要求是O(1),也就是常量级别的空间复杂度,这个O(1)如何理解呢,如果栈的长度是N那么这个用的空间要远小N,否则就不能说是O(1),那TM叫,N/2或N/3,亦或N/M(M << N)。假设,如果栈大小为100,那么这个多余的空间用1,2甚至10个都是没有问题。

    下面是我用python实现了一遍上面的逻辑,代码如下:

     1 import copy
     2 
     3 
     4 class my_stack(object):
     5   def __init__(self, num_list):
     6     self.stack = copy.deepcopy(num_list)
     7 
     8   def stack_print(self):
     9     print self.stack
    10 
    11   def stack_pop(self):
    12     if len(self.stack) > 0:
    13       return self.stack.pop(len(self.stack) - 1)
    14     else:
    15       return None
    16 
    17   def stack_push(self, data):
    18     self.stack.append(data)
    19 
    20   def stack_empty(self):
    21     if len(self.stack) <= 0:
    22       return True
    23     else:
    24       return False
    25 
    26 
    27 def reverse_stack(stack, i, j):
    28   if stack.stack_empty() is True:
    29     i -= 1
    30     j -= 1
    31     return
    32 
    33   tmp = stack.stack_pop()
    34   reverse_stack(stack, i, j)
    35   i += 1
    36   print 'first variable new count:' + str(i) + '	 address:' + hex(id(tmp))
    37   if stack.stack_empty() is True:
    38     stack.stack_push(tmp)
    39     return
    40 
    41   tmp2 = stack.stack_pop()
    42   j += 1
    43   print 'second variable new count:' + str(j) + '	 address:' + hex(id(tmp2))
    44 
    45   reverse_stack(stack, i, j)
    46   stack.stack_push(tmp)
    47   reverse_stack(stack, i, j)
    48   stack.stack_push(tmp2)
    49 
    50 if __name__ == "__main__":
    51   tmp_stack = my_stack([1, 2, 3, 5, 6, 7, 8, 9])
    52 
    53   reverse_stack(tmp_stack, 0, 0)
    54   tmp_stack.stack_print()

    执行完的结果为(结果较大谨慎展开):

      1 first variable new count:1     address:0x1d979a8L
      2 first variable new count:1     address:0x1d97990L
      3 second variable new count:1     address:0x1d979a8L
      4 first variable new count:2     address:0x1d97990L
      5 first variable new count:1     address:0x1d97978L
      6 second variable new count:1     address:0x1d979a8L
      7 first variable new count:2     address:0x1d97990L
      8 first variable new count:2     address:0x1d97990L
      9 first variable new count:2     address:0x1d97978L
     10 second variable new count:2     address:0x1d97990L
     11 first variable new count:3     address:0x1d97978L
     12 first variable new count:1     address:0x1d97948L
     13 second variable new count:1     address:0x1d979a8L
     14 first variable new count:2     address:0x1d97978L
     15 first variable new count:2     address:0x1d97990L
     16 second variable new count:2     address:0x1d97978L
     17 first variable new count:3     address:0x1d97990L
     18 first variable new count:2     address:0x1d97990L
     19 first variable new count:2     address:0x1d97978L
     20 second variable new count:2     address:0x1d97990L
     21 first variable new count:3     address:0x1d97978L
     22 first variable new count:2     address:0x1d97948L
     23 second variable new count:2     address:0x1d97990L
     24 first variable new count:3     address:0x1d97978L
     25 first variable new count:3     address:0x1d97978L
     26 first variable new count:3     address:0x1d97948L
     27 second variable new count:3     address:0x1d97978L
     28 first variable new count:4     address:0x1d97948L
     29 first variable new count:1     address:0x1d97930L
     30 second variable new count:1     address:0x1d979a8L
     31 first variable new count:2     address:0x1d97948L
     32 first variable new count:2     address:0x1d97978L
     33 second variable new count:2     address:0x1d97948L
     34 first variable new count:3     address:0x1d97978L
     35 first variable new count:2     address:0x1d97990L
     36 second variable new count:2     address:0x1d97948L
     37 first variable new count:3     address:0x1d97978L
     38 first variable new count:3     address:0x1d97978L
     39 first variable new count:3     address:0x1d97990L
     40 second variable new count:3     address:0x1d97978L
     41 first variable new count:4     address:0x1d97990L
     42 first variable new count:2     address:0x1d97990L
     43 first variable new count:2     address:0x1d97978L
     44 second variable new count:2     address:0x1d97990L
     45 first variable new count:3     address:0x1d97978L
     46 first variable new count:2     address:0x1d97948L
     47 second variable new count:2     address:0x1d97990L
     48 first variable new count:3     address:0x1d97978L
     49 first variable new count:3     address:0x1d97978L
     50 first variable new count:3     address:0x1d97948L
     51 second variable new count:3     address:0x1d97978L
     52 first variable new count:4     address:0x1d97948L
     53 first variable new count:2     address:0x1d97930L
     54 second variable new count:2     address:0x1d97990L
     55 first variable new count:3     address:0x1d97948L
     56 first variable new count:3     address:0x1d97978L
     57 second variable new count:3     address:0x1d97948L
     58 first variable new count:4     address:0x1d97978L
     59 first variable new count:3     address:0x1d97978L
     60 first variable new count:3     address:0x1d97948L
     61 second variable new count:3     address:0x1d97978L
     62 first variable new count:4     address:0x1d97948L
     63 first variable new count:3     address:0x1d97930L
     64 second variable new count:3     address:0x1d97978L
     65 first variable new count:4     address:0x1d97948L
     66 first variable new count:4     address:0x1d97948L
     67 first variable new count:4     address:0x1d97930L
     68 second variable new count:4     address:0x1d97948L
     69 first variable new count:5     address:0x1d97930L
     70 first variable new count:1     address:0x1d97918L
     71 second variable new count:1     address:0x1d979a8L
     72 first variable new count:2     address:0x1d97930L
     73 first variable new count:2     address:0x1d97948L
     74 second variable new count:2     address:0x1d97930L
     75 first variable new count:3     address:0x1d97948L
     76 first variable new count:2     address:0x1d97978L
     77 second variable new count:2     address:0x1d97930L
     78 first variable new count:3     address:0x1d97948L
     79 first variable new count:3     address:0x1d97948L
     80 first variable new count:3     address:0x1d97978L
     81 second variable new count:3     address:0x1d97948L
     82 first variable new count:4     address:0x1d97978L
     83 first variable new count:2     address:0x1d97990L
     84 second variable new count:2     address:0x1d97930L
     85 first variable new count:3     address:0x1d97978L
     86 first variable new count:3     address:0x1d97948L
     87 second variable new count:3     address:0x1d97978L
     88 first variable new count:4     address:0x1d97948L
     89 first variable new count:3     address:0x1d97948L
     90 first variable new count:3     address:0x1d97978L
     91 second variable new count:3     address:0x1d97948L
     92 first variable new count:4     address:0x1d97978L
     93 first variable new count:3     address:0x1d97990L
     94 second variable new count:3     address:0x1d97948L
     95 first variable new count:4     address:0x1d97978L
     96 first variable new count:4     address:0x1d97978L
     97 first variable new count:4     address:0x1d97990L
     98 second variable new count:4     address:0x1d97978L
     99 first variable new count:5     address:0x1d97990L
    100 first variable new count:2     address:0x1d97990L
    101 first variable new count:2     address:0x1d97978L
    102 second variable new count:2     address:0x1d97990L
    103 first variable new count:3     address:0x1d97978L
    104 first variable new count:2     address:0x1d97948L
    105 second variable new count:2     address:0x1d97990L
    106 first variable new count:3     address:0x1d97978L
    107 first variable new count:3     address:0x1d97978L
    108 first variable new count:3     address:0x1d97948L
    109 second variable new count:3     address:0x1d97978L
    110 first variable new count:4     address:0x1d97948L
    111 first variable new count:2     address:0x1d97930L
    112 second variable new count:2     address:0x1d97990L
    113 first variable new count:3     address:0x1d97948L
    114 first variable new count:3     address:0x1d97978L
    115 second variable new count:3     address:0x1d97948L
    116 first variable new count:4     address:0x1d97978L
    117 first variable new count:3     address:0x1d97978L
    118 first variable new count:3     address:0x1d97948L
    119 second variable new count:3     address:0x1d97978L
    120 first variable new count:4     address:0x1d97948L
    121 first variable new count:3     address:0x1d97930L
    122 second variable new count:3     address:0x1d97978L
    123 first variable new count:4     address:0x1d97948L
    124 first variable new count:4     address:0x1d97948L
    125 first variable new count:4     address:0x1d97930L
    126 second variable new count:4     address:0x1d97948L
    127 first variable new count:5     address:0x1d97930L
    128 first variable new count:2     address:0x1d97918L
    129 second variable new count:2     address:0x1d97990L
    130 first variable new count:3     address:0x1d97930L
    131 first variable new count:3     address:0x1d97948L
    132 second variable new count:3     address:0x1d97930L
    133 first variable new count:4     address:0x1d97948L
    134 first variable new count:3     address:0x1d97978L
    135 second variable new count:3     address:0x1d97930L
    136 first variable new count:4     address:0x1d97948L
    137 first variable new count:4     address:0x1d97948L
    138 first variable new count:4     address:0x1d97978L
    139 second variable new count:4     address:0x1d97948L
    140 first variable new count:5     address:0x1d97978L
    141 first variable new count:3     address:0x1d97978L
    142 first variable new count:3     address:0x1d97948L
    143 second variable new count:3     address:0x1d97978L
    144 first variable new count:4     address:0x1d97948L
    145 first variable new count:3     address:0x1d97930L
    146 second variable new count:3     address:0x1d97978L
    147 first variable new count:4     address:0x1d97948L
    148 first variable new count:4     address:0x1d97948L
    149 first variable new count:4     address:0x1d97930L
    150 second variable new count:4     address:0x1d97948L
    151 first variable new count:5     address:0x1d97930L
    152 first variable new count:3     address:0x1d97918L
    153 second variable new count:3     address:0x1d97978L
    154 first variable new count:4     address:0x1d97930L
    155 first variable new count:4     address:0x1d97948L
    156 second variable new count:4     address:0x1d97930L
    157 first variable new count:5     address:0x1d97948L
    158 first variable new count:4     address:0x1d97948L
    159 first variable new count:4     address:0x1d97930L
    160 second variable new count:4     address:0x1d97948L
    161 first variable new count:5     address:0x1d97930L
    162 first variable new count:4     address:0x1d97918L
    163 second variable new count:4     address:0x1d97948L
    164 first variable new count:5     address:0x1d97930L
    165 first variable new count:5     address:0x1d97930L
    166 first variable new count:5     address:0x1d97918L
    167 second variable new count:5     address:0x1d97930L
    168 first variable new count:6     address:0x1d97918L
    169 first variable new count:1     address:0x1d97900L
    170 second variable new count:1     address:0x1d979a8L
    171 first variable new count:2     address:0x1d97918L
    172 first variable new count:2     address:0x1d97930L
    173 second variable new count:2     address:0x1d97918L
    174 first variable new count:3     address:0x1d97930L
    175 first variable new count:2     address:0x1d97948L
    176 second variable new count:2     address:0x1d97918L
    177 first variable new count:3     address:0x1d97930L
    178 first variable new count:3     address:0x1d97930L
    179 first variable new count:3     address:0x1d97948L
    180 second variable new count:3     address:0x1d97930L
    181 first variable new count:4     address:0x1d97948L
    182 first variable new count:2     address:0x1d97978L
    183 second variable new count:2     address:0x1d97918L
    184 first variable new count:3     address:0x1d97948L
    185 first variable new count:3     address:0x1d97930L
    186 second variable new count:3     address:0x1d97948L
    187 first variable new count:4     address:0x1d97930L
    188 first variable new count:3     address:0x1d97930L
    189 first variable new count:3     address:0x1d97948L
    190 second variable new count:3     address:0x1d97930L
    191 first variable new count:4     address:0x1d97948L
    192 first variable new count:3     address:0x1d97978L
    193 second variable new count:3     address:0x1d97930L
    194 first variable new count:4     address:0x1d97948L
    195 first variable new count:4     address:0x1d97948L
    196 first variable new count:4     address:0x1d97978L
    197 second variable new count:4     address:0x1d97948L
    198 first variable new count:5     address:0x1d97978L
    199 first variable new count:2     address:0x1d97990L
    200 second variable new count:2     address:0x1d97918L
    201 first variable new count:3     address:0x1d97978L
    202 first variable new count:3     address:0x1d97948L
    203 second variable new count:3     address:0x1d97978L
    204 first variable new count:4     address:0x1d97948L
    205 first variable new count:3     address:0x1d97930L
    206 second variable new count:3     address:0x1d97978L
    207 first variable new count:4     address:0x1d97948L
    208 first variable new count:4     address:0x1d97948L
    209 first variable new count:4     address:0x1d97930L
    210 second variable new count:4     address:0x1d97948L
    211 first variable new count:5     address:0x1d97930L
    212 first variable new count:3     address:0x1d97930L
    213 first variable new count:3     address:0x1d97948L
    214 second variable new count:3     address:0x1d97930L
    215 first variable new count:4     address:0x1d97948L
    216 first variable new count:3     address:0x1d97978L
    217 second variable new count:3     address:0x1d97930L
    218 first variable new count:4     address:0x1d97948L
    219 first variable new count:4     address:0x1d97948L
    220 first variable new count:4     address:0x1d97978L
    221 second variable new count:4     address:0x1d97948L
    222 first variable new count:5     address:0x1d97978L
    223 first variable new count:3     address:0x1d97990L
    224 second variable new count:3     address:0x1d97930L
    225 first variable new count:4     address:0x1d97978L
    226 first variable new count:4     address:0x1d97948L
    227 second variable new count:4     address:0x1d97978L
    228 first variable new count:5     address:0x1d97948L
    229 first variable new count:4     address:0x1d97948L
    230 first variable new count:4     address:0x1d97978L
    231 second variable new count:4     address:0x1d97948L
    232 first variable new count:5     address:0x1d97978L
    233 first variable new count:4     address:0x1d97990L
    234 second variable new count:4     address:0x1d97948L
    235 first variable new count:5     address:0x1d97978L
    236 first variable new count:5     address:0x1d97978L
    237 first variable new count:5     address:0x1d97990L
    238 second variable new count:5     address:0x1d97978L
    239 first variable new count:6     address:0x1d97990L
    240 first variable new count:2     address:0x1d97990L
    241 first variable new count:2     address:0x1d97978L
    242 second variable new count:2     address:0x1d97990L
    243 first variable new count:3     address:0x1d97978L
    244 first variable new count:2     address:0x1d97948L
    245 second variable new count:2     address:0x1d97990L
    246 first variable new count:3     address:0x1d97978L
    247 first variable new count:3     address:0x1d97978L
    248 first variable new count:3     address:0x1d97948L
    249 second variable new count:3     address:0x1d97978L
    250 first variable new count:4     address:0x1d97948L
    251 first variable new count:2     address:0x1d97930L
    252 second variable new count:2     address:0x1d97990L
    253 first variable new count:3     address:0x1d97948L
    254 first variable new count:3     address:0x1d97978L
    255 second variable new count:3     address:0x1d97948L
    256 first variable new count:4     address:0x1d97978L
    257 first variable new count:3     address:0x1d97978L
    258 first variable new count:3     address:0x1d97948L
    259 second variable new count:3     address:0x1d97978L
    260 first variable new count:4     address:0x1d97948L
    261 first variable new count:3     address:0x1d97930L
    262 second variable new count:3     address:0x1d97978L
    263 first variable new count:4     address:0x1d97948L
    264 first variable new count:4     address:0x1d97948L
    265 first variable new count:4     address:0x1d97930L
    266 second variable new count:4     address:0x1d97948L
    267 first variable new count:5     address:0x1d97930L
    268 first variable new count:2     address:0x1d97918L
    269 second variable new count:2     address:0x1d97990L
    270 first variable new count:3     address:0x1d97930L
    271 first variable new count:3     address:0x1d97948L
    272 second variable new count:3     address:0x1d97930L
    273 first variable new count:4     address:0x1d97948L
    274 first variable new count:3     address:0x1d97978L
    275 second variable new count:3     address:0x1d97930L
    276 first variable new count:4     address:0x1d97948L
    277 first variable new count:4     address:0x1d97948L
    278 first variable new count:4     address:0x1d97978L
    279 second variable new count:4     address:0x1d97948L
    280 first variable new count:5     address:0x1d97978L
    281 first variable new count:3     address:0x1d97978L
    282 first variable new count:3     address:0x1d97948L
    283 second variable new count:3     address:0x1d97978L
    284 first variable new count:4     address:0x1d97948L
    285 first variable new count:3     address:0x1d97930L
    286 second variable new count:3     address:0x1d97978L
    287 first variable new count:4     address:0x1d97948L
    288 first variable new count:4     address:0x1d97948L
    289 first variable new count:4     address:0x1d97930L
    290 second variable new count:4     address:0x1d97948L
    291 first variable new count:5     address:0x1d97930L
    292 first variable new count:3     address:0x1d97918L
    293 second variable new count:3     address:0x1d97978L
    294 first variable new count:4     address:0x1d97930L
    295 first variable new count:4     address:0x1d97948L
    296 second variable new count:4     address:0x1d97930L
    297 first variable new count:5     address:0x1d97948L
    298 first variable new count:4     address:0x1d97948L
    299 first variable new count:4     address:0x1d97930L
    300 second variable new count:4     address:0x1d97948L
    301 first variable new count:5     address:0x1d97930L
    302 first variable new count:4     address:0x1d97918L
    303 second variable new count:4     address:0x1d97948L
    304 first variable new count:5     address:0x1d97930L
    305 first variable new count:5     address:0x1d97930L
    306 first variable new count:5     address:0x1d97918L
    307 second variable new count:5     address:0x1d97930L
    308 first variable new count:6     address:0x1d97918L
    309 first variable new count:2     address:0x1d97900L
    310 second variable new count:2     address:0x1d97990L
    311 first variable new count:3     address:0x1d97918L
    312 first variable new count:3     address:0x1d97930L
    313 second variable new count:3     address:0x1d97918L
    314 first variable new count:4     address:0x1d97930L
    315 first variable new count:3     address:0x1d97948L
    316 second variable new count:3     address:0x1d97918L
    317 first variable new count:4     address:0x1d97930L
    318 first variable new count:4     address:0x1d97930L
    319 first variable new count:4     address:0x1d97948L
    320 second variable new count:4     address:0x1d97930L
    321 first variable new count:5     address:0x1d97948L
    322 first variable new count:3     address:0x1d97978L
    323 second variable new count:3     address:0x1d97918L
    324 first variable new count:4     address:0x1d97948L
    325 first variable new count:4     address:0x1d97930L
    326 second variable new count:4     address:0x1d97948L
    327 first variable new count:5     address:0x1d97930L
    328 first variable new count:4     address:0x1d97930L
    329 first variable new count:4     address:0x1d97948L
    330 second variable new count:4     address:0x1d97930L
    331 first variable new count:5     address:0x1d97948L
    332 first variable new count:4     address:0x1d97978L
    333 second variable new count:4     address:0x1d97930L
    334 first variable new count:5     address:0x1d97948L
    335 first variable new count:5     address:0x1d97948L
    336 first variable new count:5     address:0x1d97978L
    337 second variable new count:5     address:0x1d97948L
    338 first variable new count:6     address:0x1d97978L
    339 first variable new count:3     address:0x1d97978L
    340 first variable new count:3     address:0x1d97948L
    341 second variable new count:3     address:0x1d97978L
    342 first variable new count:4     address:0x1d97948L
    343 first variable new count:3     address:0x1d97930L
    344 second variable new count:3     address:0x1d97978L
    345 first variable new count:4     address:0x1d97948L
    346 first variable new count:4     address:0x1d97948L
    347 first variable new count:4     address:0x1d97930L
    348 second variable new count:4     address:0x1d97948L
    349 first variable new count:5     address:0x1d97930L
    350 first variable new count:3     address:0x1d97918L
    351 second variable new count:3     address:0x1d97978L
    352 first variable new count:4     address:0x1d97930L
    353 first variable new count:4     address:0x1d97948L
    354 second variable new count:4     address:0x1d97930L
    355 first variable new count:5     address:0x1d97948L
    356 first variable new count:4     address:0x1d97948L
    357 first variable new count:4     address:0x1d97930L
    358 second variable new count:4     address:0x1d97948L
    359 first variable new count:5     address:0x1d97930L
    360 first variable new count:4     address:0x1d97918L
    361 second variable new count:4     address:0x1d97948L
    362 first variable new count:5     address:0x1d97930L
    363 first variable new count:5     address:0x1d97930L
    364 first variable new count:5     address:0x1d97918L
    365 second variable new count:5     address:0x1d97930L
    366 first variable new count:6     address:0x1d97918L
    367 first variable new count:3     address:0x1d97900L
    368 second variable new count:3     address:0x1d97978L
    369 first variable new count:4     address:0x1d97918L
    370 first variable new count:4     address:0x1d97930L
    371 second variable new count:4     address:0x1d97918L
    372 first variable new count:5     address:0x1d97930L
    373 first variable new count:4     address:0x1d97948L
    374 second variable new count:4     address:0x1d97918L
    375 first variable new count:5     address:0x1d97930L
    376 first variable new count:5     address:0x1d97930L
    377 first variable new count:5     address:0x1d97948L
    378 second variable new count:5     address:0x1d97930L
    379 first variable new count:6     address:0x1d97948L
    380 first variable new count:4     address:0x1d97948L
    381 first variable new count:4     address:0x1d97930L
    382 second variable new count:4     address:0x1d97948L
    383 first variable new count:5     address:0x1d97930L
    384 first variable new count:4     address:0x1d97918L
    385 second variable new count:4     address:0x1d97948L
    386 first variable new count:5     address:0x1d97930L
    387 first variable new count:5     address:0x1d97930L
    388 first variable new count:5     address:0x1d97918L
    389 second variable new count:5     address:0x1d97930L
    390 first variable new count:6     address:0x1d97918L
    391 first variable new count:4     address:0x1d97900L
    392 second variable new count:4     address:0x1d97948L
    393 first variable new count:5     address:0x1d97918L
    394 first variable new count:5     address:0x1d97930L
    395 second variable new count:5     address:0x1d97918L
    396 first variable new count:6     address:0x1d97930L
    397 first variable new count:5     address:0x1d97930L
    398 first variable new count:5     address:0x1d97918L
    399 second variable new count:5     address:0x1d97930L
    400 first variable new count:6     address:0x1d97918L
    401 first variable new count:5     address:0x1d97900L
    402 second variable new count:5     address:0x1d97930L
    403 first variable new count:6     address:0x1d97918L
    404 first variable new count:6     address:0x1d97918L
    405 first variable new count:6     address:0x1d97900L
    406 second variable new count:6     address:0x1d97918L
    407 first variable new count:7     address:0x1d97900L
    408 first variable new count:1     address:0x1d978e8L
    409 second variable new count:1     address:0x1d979a8L
    410 first variable new count:2     address:0x1d97900L
    411 first variable new count:2     address:0x1d97918L
    412 second variable new count:2     address:0x1d97900L
    413 first variable new count:3     address:0x1d97918L
    414 first variable new count:2     address:0x1d97930L
    415 second variable new count:2     address:0x1d97900L
    416 first variable new count:3     address:0x1d97918L
    417 first variable new count:3     address:0x1d97918L
    418 first variable new count:3     address:0x1d97930L
    419 second variable new count:3     address:0x1d97918L
    420 first variable new count:4     address:0x1d97930L
    421 first variable new count:2     address:0x1d97948L
    422 second variable new count:2     address:0x1d97900L
    423 first variable new count:3     address:0x1d97930L
    424 first variable new count:3     address:0x1d97918L
    425 second variable new count:3     address:0x1d97930L
    426 first variable new count:4     address:0x1d97918L
    427 first variable new count:3     address:0x1d97918L
    428 first variable new count:3     address:0x1d97930L
    429 second variable new count:3     address:0x1d97918L
    430 first variable new count:4     address:0x1d97930L
    431 first variable new count:3     address:0x1d97948L
    432 second variable new count:3     address:0x1d97918L
    433 first variable new count:4     address:0x1d97930L
    434 first variable new count:4     address:0x1d97930L
    435 first variable new count:4     address:0x1d97948L
    436 second variable new count:4     address:0x1d97930L
    437 first variable new count:5     address:0x1d97948L
    438 first variable new count:2     address:0x1d97978L
    439 second variable new count:2     address:0x1d97900L
    440 first variable new count:3     address:0x1d97948L
    441 first variable new count:3     address:0x1d97930L
    442 second variable new count:3     address:0x1d97948L
    443 first variable new count:4     address:0x1d97930L
    444 first variable new count:3     address:0x1d97918L
    445 second variable new count:3     address:0x1d97948L
    446 first variable new count:4     address:0x1d97930L
    447 first variable new count:4     address:0x1d97930L
    448 first variable new count:4     address:0x1d97918L
    449 second variable new count:4     address:0x1d97930L
    450 first variable new count:5     address:0x1d97918L
    451 first variable new count:3     address:0x1d97918L
    452 first variable new count:3     address:0x1d97930L
    453 second variable new count:3     address:0x1d97918L
    454 first variable new count:4     address:0x1d97930L
    455 first variable new count:3     address:0x1d97948L
    456 second variable new count:3     address:0x1d97918L
    457 first variable new count:4     address:0x1d97930L
    458 first variable new count:4     address:0x1d97930L
    459 first variable new count:4     address:0x1d97948L
    460 second variable new count:4     address:0x1d97930L
    461 first variable new count:5     address:0x1d97948L
    462 first variable new count:3     address:0x1d97978L
    463 second variable new count:3     address:0x1d97918L
    464 first variable new count:4     address:0x1d97948L
    465 first variable new count:4     address:0x1d97930L
    466 second variable new count:4     address:0x1d97948L
    467 first variable new count:5     address:0x1d97930L
    468 first variable new count:4     address:0x1d97930L
    469 first variable new count:4     address:0x1d97948L
    470 second variable new count:4     address:0x1d97930L
    471 first variable new count:5     address:0x1d97948L
    472 first variable new count:4     address:0x1d97978L
    473 second variable new count:4     address:0x1d97930L
    474 first variable new count:5     address:0x1d97948L
    475 first variable new count:5     address:0x1d97948L
    476 first variable new count:5     address:0x1d97978L
    477 second variable new count:5     address:0x1d97948L
    478 first variable new count:6     address:0x1d97978L
    479 first variable new count:2     address:0x1d97990L
    480 second variable new count:2     address:0x1d97900L
    481 first variable new count:3     address:0x1d97978L
    482 first variable new count:3     address:0x1d97948L
    483 second variable new count:3     address:0x1d97978L
    484 first variable new count:4     address:0x1d97948L
    485 first variable new count:3     address:0x1d97930L
    486 second variable new count:3     address:0x1d97978L
    487 first variable new count:4     address:0x1d97948L
    488 first variable new count:4     address:0x1d97948L
    489 first variable new count:4     address:0x1d97930L
    490 second variable new count:4     address:0x1d97948L
    491 first variable new count:5     address:0x1d97930L
    492 first variable new count:3     address:0x1d97918L
    493 second variable new count:3     address:0x1d97978L
    494 first variable new count:4     address:0x1d97930L
    495 first variable new count:4     address:0x1d97948L
    496 second variable new count:4     address:0x1d97930L
    497 first variable new count:5     address:0x1d97948L
    498 first variable new count:4     address:0x1d97948L
    499 first variable new count:4     address:0x1d97930L
    500 second variable new count:4     address:0x1d97948L
    501 first variable new count:5     address:0x1d97930L
    502 first variable new count:4     address:0x1d97918L
    503 second variable new count:4     address:0x1d97948L
    504 first variable new count:5     address:0x1d97930L
    505 first variable new count:5     address:0x1d97930L
    506 first variable new count:5     address:0x1d97918L
    507 second variable new count:5     address:0x1d97930L
    508 first variable new count:6     address:0x1d97918L
    509 first variable new count:3     address:0x1d97918L
    510 first variable new count:3     address:0x1d97930L
    511 second variable new count:3     address:0x1d97918L
    512 first variable new count:4     address:0x1d97930L
    513 first variable new count:3     address:0x1d97948L
    514 second variable new count:3     address:0x1d97918L
    515 first variable new count:4     address:0x1d97930L
    516 first variable new count:4     address:0x1d97930L
    517 first variable new count:4     address:0x1d97948L
    518 second variable new count:4     address:0x1d97930L
    519 first variable new count:5     address:0x1d97948L
    520 first variable new count:3     address:0x1d97978L
    521 second variable new count:3     address:0x1d97918L
    522 first variable new count:4     address:0x1d97948L
    523 first variable new count:4     address:0x1d97930L
    524 second variable new count:4     address:0x1d97948L
    525 first variable new count:5     address:0x1d97930L
    526 first variable new count:4     address:0x1d97930L
    527 first variable new count:4     address:0x1d97948L
    528 second variable new count:4     address:0x1d97930L
    529 first variable new count:5     address:0x1d97948L
    530 first variable new count:4     address:0x1d97978L
    531 second variable new count:4     address:0x1d97930L
    532 first variable new count:5     address:0x1d97948L
    533 first variable new count:5     address:0x1d97948L
    534 first variable new count:5     address:0x1d97978L
    535 second variable new count:5     address:0x1d97948L
    536 first variable new count:6     address:0x1d97978L
    537 first variable new count:3     address:0x1d97990L
    538 second variable new count:3     address:0x1d97918L
    539 first variable new count:4     address:0x1d97978L
    540 first variable new count:4     address:0x1d97948L
    541 second variable new count:4     address:0x1d97978L
    542 first variable new count:5     address:0x1d97948L
    543 first variable new count:4     address:0x1d97930L
    544 second variable new count:4     address:0x1d97978L
    545 first variable new count:5     address:0x1d97948L
    546 first variable new count:5     address:0x1d97948L
    547 first variable new count:5     address:0x1d97930L
    548 second variable new count:5     address:0x1d97948L
    549 first variable new count:6     address:0x1d97930L
    550 first variable new count:4     address:0x1d97930L
    551 first variable new count:4     address:0x1d97948L
    552 second variable new count:4     address:0x1d97930L
    553 first variable new count:5     address:0x1d97948L
    554 first variable new count:4     address:0x1d97978L
    555 second variable new count:4     address:0x1d97930L
    556 first variable new count:5     address:0x1d97948L
    557 first variable new count:5     address:0x1d97948L
    558 first variable new count:5     address:0x1d97978L
    559 second variable new count:5     address:0x1d97948L
    560 first variable new count:6     address:0x1d97978L
    561 first variable new count:4     address:0x1d97990L
    562 second variable new count:4     address:0x1d97930L
    563 first variable new count:5     address:0x1d97978L
    564 first variable new count:5     address:0x1d97948L
    565 second variable new count:5     address:0x1d97978L
    566 first variable new count:6     address:0x1d97948L
    567 first variable new count:5     address:0x1d97948L
    568 first variable new count:5     address:0x1d97978L
    569 second variable new count:5     address:0x1d97948L
    570 first variable new count:6     address:0x1d97978L
    571 first variable new count:5     address:0x1d97990L
    572 second variable new count:5     address:0x1d97948L
    573 first variable new count:6     address:0x1d97978L
    574 first variable new count:6     address:0x1d97978L
    575 first variable new count:6     address:0x1d97990L
    576 second variable new count:6     address:0x1d97978L
    577 first variable new count:7     address:0x1d97990L
    578 first variable new count:2     address:0x1d97990L
    579 first variable new count:2     address:0x1d97978L
    580 second variable new count:2     address:0x1d97990L
    581 first variable new count:3     address:0x1d97978L
    582 first variable new count:2     address:0x1d97948L
    583 second variable new count:2     address:0x1d97990L
    584 first variable new count:3     address:0x1d97978L
    585 first variable new count:3     address:0x1d97978L
    586 first variable new count:3     address:0x1d97948L
    587 second variable new count:3     address:0x1d97978L
    588 first variable new count:4     address:0x1d97948L
    589 first variable new count:2     address:0x1d97930L
    590 second variable new count:2     address:0x1d97990L
    591 first variable new count:3     address:0x1d97948L
    592 first variable new count:3     address:0x1d97978L
    593 second variable new count:3     address:0x1d97948L
    594 first variable new count:4     address:0x1d97978L
    595 first variable new count:3     address:0x1d97978L
    596 first variable new count:3     address:0x1d97948L
    597 second variable new count:3     address:0x1d97978L
    598 first variable new count:4     address:0x1d97948L
    599 first variable new count:3     address:0x1d97930L
    600 second variable new count:3     address:0x1d97978L
    601 first variable new count:4     address:0x1d97948L
    602 first variable new count:4     address:0x1d97948L
    603 first variable new count:4     address:0x1d97930L
    604 second variable new count:4     address:0x1d97948L
    605 first variable new count:5     address:0x1d97930L
    606 first variable new count:2     address:0x1d97918L
    607 second variable new count:2     address:0x1d97990L
    608 first variable new count:3     address:0x1d97930L
    609 first variable new count:3     address:0x1d97948L
    610 second variable new count:3     address:0x1d97930L
    611 first variable new count:4     address:0x1d97948L
    612 first variable new count:3     address:0x1d97978L
    613 second variable new count:3     address:0x1d97930L
    614 first variable new count:4     address:0x1d97948L
    615 first variable new count:4     address:0x1d97948L
    616 first variable new count:4     address:0x1d97978L
    617 second variable new count:4     address:0x1d97948L
    618 first variable new count:5     address:0x1d97978L
    619 first variable new count:3     address:0x1d97978L
    620 first variable new count:3     address:0x1d97948L
    621 second variable new count:3     address:0x1d97978L
    622 first variable new count:4     address:0x1d97948L
    623 first variable new count:3     address:0x1d97930L
    624 second variable new count:3     address:0x1d97978L
    625 first variable new count:4     address:0x1d97948L
    626 first variable new count:4     address:0x1d97948L
    627 first variable new count:4     address:0x1d97930L
    628 second variable new count:4     address:0x1d97948L
    629 first variable new count:5     address:0x1d97930L
    630 first variable new count:3     address:0x1d97918L
    631 second variable new count:3     address:0x1d97978L
    632 first variable new count:4     address:0x1d97930L
    633 first variable new count:4     address:0x1d97948L
    634 second variable new count:4     address:0x1d97930L
    635 first variable new count:5     address:0x1d97948L
    636 first variable new count:4     address:0x1d97948L
    637 first variable new count:4     address:0x1d97930L
    638 second variable new count:4     address:0x1d97948L
    639 first variable new count:5     address:0x1d97930L
    640 first variable new count:4     address:0x1d97918L
    641 second variable new count:4     address:0x1d97948L
    642 first variable new count:5     address:0x1d97930L
    643 first variable new count:5     address:0x1d97930L
    644 first variable new count:5     address:0x1d97918L
    645 second variable new count:5     address:0x1d97930L
    646 first variable new count:6     address:0x1d97918L
    647 first variable new count:2     address:0x1d97900L
    648 second variable new count:2     address:0x1d97990L
    649 first variable new count:3     address:0x1d97918L
    650 first variable new count:3     address:0x1d97930L
    651 second variable new count:3     address:0x1d97918L
    652 first variable new count:4     address:0x1d97930L
    653 first variable new count:3     address:0x1d97948L
    654 second variable new count:3     address:0x1d97918L
    655 first variable new count:4     address:0x1d97930L
    656 first variable new count:4     address:0x1d97930L
    657 first variable new count:4     address:0x1d97948L
    658 second variable new count:4     address:0x1d97930L
    659 first variable new count:5     address:0x1d97948L
    660 first variable new count:3     address:0x1d97978L
    661 second variable new count:3     address:0x1d97918L
    662 first variable new count:4     address:0x1d97948L
    663 first variable new count:4     address:0x1d97930L
    664 second variable new count:4     address:0x1d97948L
    665 first variable new count:5     address:0x1d97930L
    666 first variable new count:4     address:0x1d97930L
    667 first variable new count:4     address:0x1d97948L
    668 second variable new count:4     address:0x1d97930L
    669 first variable new count:5     address:0x1d97948L
    670 first variable new count:4     address:0x1d97978L
    671 second variable new count:4     address:0x1d97930L
    672 first variable new count:5     address:0x1d97948L
    673 first variable new count:5     address:0x1d97948L
    674 first variable new count:5     address:0x1d97978L
    675 second variable new count:5     address:0x1d97948L
    676 first variable new count:6     address:0x1d97978L
    677 first variable new count:3     address:0x1d97978L
    678 first variable new count:3     address:0x1d97948L
    679 second variable new count:3     address:0x1d97978L
    680 first variable new count:4     address:0x1d97948L
    681 first variable new count:3     address:0x1d97930L
    682 second variable new count:3     address:0x1d97978L
    683 first variable new count:4     address:0x1d97948L
    684 first variable new count:4     address:0x1d97948L
    685 first variable new count:4     address:0x1d97930L
    686 second variable new count:4     address:0x1d97948L
    687 first variable new count:5     address:0x1d97930L
    688 first variable new count:3     address:0x1d97918L
    689 second variable new count:3     address:0x1d97978L
    690 first variable new count:4     address:0x1d97930L
    691 first variable new count:4     address:0x1d97948L
    692 second variable new count:4     address:0x1d97930L
    693 first variable new count:5     address:0x1d97948L
    694 first variable new count:4     address:0x1d97948L
    695 first variable new count:4     address:0x1d97930L
    696 second variable new count:4     address:0x1d97948L
    697 first variable new count:5     address:0x1d97930L
    698 first variable new count:4     address:0x1d97918L
    699 second variable new count:4     address:0x1d97948L
    700 first variable new count:5     address:0x1d97930L
    701 first variable new count:5     address:0x1d97930L
    702 first variable new count:5     address:0x1d97918L
    703 second variable new count:5     address:0x1d97930L
    704 first variable new count:6     address:0x1d97918L
    705 first variable new count:3     address:0x1d97900L
    706 second variable new count:3     address:0x1d97978L
    707 first variable new count:4     address:0x1d97918L
    708 first variable new count:4     address:0x1d97930L
    709 second variable new count:4     address:0x1d97918L
    710 first variable new count:5     address:0x1d97930L
    711 first variable new count:4     address:0x1d97948L
    712 second variable new count:4     address:0x1d97918L
    713 first variable new count:5     address:0x1d97930L
    714 first variable new count:5     address:0x1d97930L
    715 first variable new count:5     address:0x1d97948L
    716 second variable new count:5     address:0x1d97930L
    717 first variable new count:6     address:0x1d97948L
    718 first variable new count:4     address:0x1d97948L
    719 first variable new count:4     address:0x1d97930L
    720 second variable new count:4     address:0x1d97948L
    721 first variable new count:5     address:0x1d97930L
    722 first variable new count:4     address:0x1d97918L
    723 second variable new count:4     address:0x1d97948L
    724 first variable new count:5     address:0x1d97930L
    725 first variable new count:5     address:0x1d97930L
    726 first variable new count:5     address:0x1d97918L
    727 second variable new count:5     address:0x1d97930L
    728 first variable new count:6     address:0x1d97918L
    729 first variable new count:4     address:0x1d97900L
    730 second variable new count:4     address:0x1d97948L
    731 first variable new count:5     address:0x1d97918L
    732 first variable new count:5     address:0x1d97930L
    733 second variable new count:5     address:0x1d97918L
    734 first variable new count:6     address:0x1d97930L
    735 first variable new count:5     address:0x1d97930L
    736 first variable new count:5     address:0x1d97918L
    737 second variable new count:5     address:0x1d97930L
    738 first variable new count:6     address:0x1d97918L
    739 first variable new count:5     address:0x1d97900L
    740 second variable new count:5     address:0x1d97930L
    741 first variable new count:6     address:0x1d97918L
    742 first variable new count:6     address:0x1d97918L
    743 first variable new count:6     address:0x1d97900L
    744 second variable new count:6     address:0x1d97918L
    745 first variable new count:7     address:0x1d97900L
    746 first variable new count:2     address:0x1d978e8L
    747 second variable new count:2     address:0x1d97990L
    748 first variable new count:3     address:0x1d97900L
    749 first variable new count:3     address:0x1d97918L
    750 second variable new count:3     address:0x1d97900L
    751 first variable new count:4     address:0x1d97918L
    752 first variable new count:3     address:0x1d97930L
    753 second variable new count:3     address:0x1d97900L
    754 first variable new count:4     address:0x1d97918L
    755 first variable new count:4     address:0x1d97918L
    756 first variable new count:4     address:0x1d97930L
    757 second variable new count:4     address:0x1d97918L
    758 first variable new count:5     address:0x1d97930L
    759 first variable new count:3     address:0x1d97948L
    760 second variable new count:3     address:0x1d97900L
    761 first variable new count:4     address:0x1d97930L
    762 first variable new count:4     address:0x1d97918L
    763 second variable new count:4     address:0x1d97930L
    764 first variable new count:5     address:0x1d97918L
    765 first variable new count:4     address:0x1d97918L
    766 first variable new count:4     address:0x1d97930L
    767 second variable new count:4     address:0x1d97918L
    768 first variable new count:5     address:0x1d97930L
    769 first variable new count:4     address:0x1d97948L
    770 second variable new count:4     address:0x1d97918L
    771 first variable new count:5     address:0x1d97930L
    772 first variable new count:5     address:0x1d97930L
    773 first variable new count:5     address:0x1d97948L
    774 second variable new count:5     address:0x1d97930L
    775 first variable new count:6     address:0x1d97948L
    776 first variable new count:3     address:0x1d97978L
    777 second variable new count:3     address:0x1d97900L
    778 first variable new count:4     address:0x1d97948L
    779 first variable new count:4     address:0x1d97930L
    780 second variable new count:4     address:0x1d97948L
    781 first variable new count:5     address:0x1d97930L
    782 first variable new count:4     address:0x1d97918L
    783 second variable new count:4     address:0x1d97948L
    784 first variable new count:5     address:0x1d97930L
    785 first variable new count:5     address:0x1d97930L
    786 first variable new count:5     address:0x1d97918L
    787 second variable new count:5     address:0x1d97930L
    788 first variable new count:6     address:0x1d97918L
    789 first variable new count:4     address:0x1d97918L
    790 first variable new count:4     address:0x1d97930L
    791 second variable new count:4     address:0x1d97918L
    792 first variable new count:5     address:0x1d97930L
    793 first variable new count:4     address:0x1d97948L
    794 second variable new count:4     address:0x1d97918L
    795 first variable new count:5     address:0x1d97930L
    796 first variable new count:5     address:0x1d97930L
    797 first variable new count:5     address:0x1d97948L
    798 second variable new count:5     address:0x1d97930L
    799 first variable new count:6     address:0x1d97948L
    800 first variable new count:4     address:0x1d97978L
    801 second variable new count:4     address:0x1d97918L
    802 first variable new count:5     address:0x1d97948L
    803 first variable new count:5     address:0x1d97930L
    804 second variable new count:5     address:0x1d97948L
    805 first variable new count:6     address:0x1d97930L
    806 first variable new count:5     address:0x1d97930L
    807 first variable new count:5     address:0x1d97948L
    808 second variable new count:5     address:0x1d97930L
    809 first variable new count:6     address:0x1d97948L
    810 first variable new count:5     address:0x1d97978L
    811 second variable new count:5     address:0x1d97930L
    812 first variable new count:6     address:0x1d97948L
    813 first variable new count:6     address:0x1d97948L
    814 first variable new count:6     address:0x1d97978L
    815 second variable new count:6     address:0x1d97948L
    816 first variable new count:7     address:0x1d97978L
    817 first variable new count:3     address:0x1d97978L
    818 first variable new count:3     address:0x1d97948L
    819 second variable new count:3     address:0x1d97978L
    820 first variable new count:4     address:0x1d97948L
    821 first variable new count:3     address:0x1d97930L
    822 second variable new count:3     address:0x1d97978L
    823 first variable new count:4     address:0x1d97948L
    824 first variable new count:4     address:0x1d97948L
    825 first variable new count:4     address:0x1d97930L
    826 second variable new count:4     address:0x1d97948L
    827 first variable new count:5     address:0x1d97930L
    828 first variable new count:3     address:0x1d97918L
    829 second variable new count:3     address:0x1d97978L
    830 first variable new count:4     address:0x1d97930L
    831 first variable new count:4     address:0x1d97948L
    832 second variable new count:4     address:0x1d97930L
    833 first variable new count:5     address:0x1d97948L
    834 first variable new count:4     address:0x1d97948L
    835 first variable new count:4     address:0x1d97930L
    836 second variable new count:4     address:0x1d97948L
    837 first variable new count:5     address:0x1d97930L
    838 first variable new count:4     address:0x1d97918L
    839 second variable new count:4     address:0x1d97948L
    840 first variable new count:5     address:0x1d97930L
    841 first variable new count:5     address:0x1d97930L
    842 first variable new count:5     address:0x1d97918L
    843 second variable new count:5     address:0x1d97930L
    844 first variable new count:6     address:0x1d97918L
    845 first variable new count:3     address:0x1d97900L
    846 second variable new count:3     address:0x1d97978L
    847 first variable new count:4     address:0x1d97918L
    848 first variable new count:4     address:0x1d97930L
    849 second variable new count:4     address:0x1d97918L
    850 first variable new count:5     address:0x1d97930L
    851 first variable new count:4     address:0x1d97948L
    852 second variable new count:4     address:0x1d97918L
    853 first variable new count:5     address:0x1d97930L
    854 first variable new count:5     address:0x1d97930L
    855 first variable new count:5     address:0x1d97948L
    856 second variable new count:5     address:0x1d97930L
    857 first variable new count:6     address:0x1d97948L
    858 first variable new count:4     address:0x1d97948L
    859 first variable new count:4     address:0x1d97930L
    860 second variable new count:4     address:0x1d97948L
    861 first variable new count:5     address:0x1d97930L
    862 first variable new count:4     address:0x1d97918L
    863 second variable new count:4     address:0x1d97948L
    864 first variable new count:5     address:0x1d97930L
    865 first variable new count:5     address:0x1d97930L
    866 first variable new count:5     address:0x1d97918L
    867 second variable new count:5     address:0x1d97930L
    868 first variable new count:6     address:0x1d97918L
    869 first variable new count:4     address:0x1d97900L
    870 second variable new count:4     address:0x1d97948L
    871 first variable new count:5     address:0x1d97918L
    872 first variable new count:5     address:0x1d97930L
    873 second variable new count:5     address:0x1d97918L
    874 first variable new count:6     address:0x1d97930L
    875 first variable new count:5     address:0x1d97930L
    876 first variable new count:5     address:0x1d97918L
    877 second variable new count:5     address:0x1d97930L
    878 first variable new count:6     address:0x1d97918L
    879 first variable new count:5     address:0x1d97900L
    880 second variable new count:5     address:0x1d97930L
    881 first variable new count:6     address:0x1d97918L
    882 first variable new count:6     address:0x1d97918L
    883 first variable new count:6     address:0x1d97900L
    884 second variable new count:6     address:0x1d97918L
    885 first variable new count:7     address:0x1d97900L
    886 first variable new count:3     address:0x1d978e8L
    887 second variable new count:3     address:0x1d97978L
    888 first variable new count:4     address:0x1d97900L
    889 first variable new count:4     address:0x1d97918L
    890 second variable new count:4     address:0x1d97900L
    891 first variable new count:5     address:0x1d97918L
    892 first variable new count:4     address:0x1d97930L
    893 second variable new count:4     address:0x1d97900L
    894 first variable new count:5     address:0x1d97918L
    895 first variable new count:5     address:0x1d97918L
    896 first variable new count:5     address:0x1d97930L
    897 second variable new count:5     address:0x1d97918L
    898 first variable new count:6     address:0x1d97930L
    899 first variable new count:4     address:0x1d97948L
    900 second variable new count:4     address:0x1d97900L
    901 first variable new count:5     address:0x1d97930L
    902 first variable new count:5     address:0x1d97918L
    903 second variable new count:5     address:0x1d97930L
    904 first variable new count:6     address:0x1d97918L
    905 first variable new count:5     address:0x1d97918L
    906 first variable new count:5     address:0x1d97930L
    907 second variable new count:5     address:0x1d97918L
    908 first variable new count:6     address:0x1d97930L
    909 first variable new count:5     address:0x1d97948L
    910 second variable new count:5     address:0x1d97918L
    911 first variable new count:6     address:0x1d97930L
    912 first variable new count:6     address:0x1d97930L
    913 first variable new count:6     address:0x1d97948L
    914 second variable new count:6     address:0x1d97930L
    915 first variable new count:7     address:0x1d97948L
    916 first variable new count:4     address:0x1d97948L
    917 first variable new count:4     address:0x1d97930L
    918 second variable new count:4     address:0x1d97948L
    919 first variable new count:5     address:0x1d97930L
    920 first variable new count:4     address:0x1d97918L
    921 second variable new count:4     address:0x1d97948L
    922 first variable new count:5     address:0x1d97930L
    923 first variable new count:5     address:0x1d97930L
    924 first variable new count:5     address:0x1d97918L
    925 second variable new count:5     address:0x1d97930L
    926 first variable new count:6     address:0x1d97918L
    927 first variable new count:4     address:0x1d97900L
    928 second variable new count:4     address:0x1d97948L
    929 first variable new count:5     address:0x1d97918L
    930 first variable new count:5     address:0x1d97930L
    931 second variable new count:5     address:0x1d97918L
    932 first variable new count:6     address:0x1d97930L
    933 first variable new count:5     address:0x1d97930L
    934 first variable new count:5     address:0x1d97918L
    935 second variable new count:5     address:0x1d97930L
    936 first variable new count:6     address:0x1d97918L
    937 first variable new count:5     address:0x1d97900L
    938 second variable new count:5     address:0x1d97930L
    939 first variable new count:6     address:0x1d97918L
    940 first variable new count:6     address:0x1d97918L
    941 first variable new count:6     address:0x1d97900L
    942 second variable new count:6     address:0x1d97918L
    943 first variable new count:7     address:0x1d97900L
    944 first variable new count:4     address:0x1d978e8L
    945 second variable new count:4     address:0x1d97948L
    946 first variable new count:5     address:0x1d97900L
    947 first variable new count:5     address:0x1d97918L
    948 second variable new count:5     address:0x1d97900L
    949 first variable new count:6     address:0x1d97918L
    950 first variable new count:5     address:0x1d97930L
    951 second variable new count:5     address:0x1d97900L
    952 first variable new count:6     address:0x1d97918L
    953 first variable new count:6     address:0x1d97918L
    954 first variable new count:6     address:0x1d97930L
    955 second variable new count:6     address:0x1d97918L
    956 first variable new count:7     address:0x1d97930L
    957 first variable new count:5     address:0x1d97930L
    958 first variable new count:5     address:0x1d97918L
    959 second variable new count:5     address:0x1d97930L
    960 first variable new count:6     address:0x1d97918L
    961 first variable new count:5     address:0x1d97900L
    962 second variable new count:5     address:0x1d97930L
    963 first variable new count:6     address:0x1d97918L
    964 first variable new count:6     address:0x1d97918L
    965 first variable new count:6     address:0x1d97900L
    966 second variable new count:6     address:0x1d97918L
    967 first variable new count:7     address:0x1d97900L
    968 first variable new count:5     address:0x1d978e8L
    969 second variable new count:5     address:0x1d97930L
    970 first variable new count:6     address:0x1d97900L
    971 first variable new count:6     address:0x1d97918L
    972 second variable new count:6     address:0x1d97900L
    973 first variable new count:7     address:0x1d97918L
    974 first variable new count:6     address:0x1d97918L
    975 first variable new count:6     address:0x1d97900L
    976 second variable new count:6     address:0x1d97918L
    977 first variable new count:7     address:0x1d97900L
    978 first variable new count:6     address:0x1d978e8L
    979 second variable new count:6     address:0x1d97918L
    980 first variable new count:7     address:0x1d97900L
    981 first variable new count:7     address:0x1d97900L
    982 first variable new count:7     address:0x1d978e8L
    983 second variable new count:7     address:0x1d97900L
    984 first variable new count:8     address:0x1d978e8L
    985 [9, 8, 7, 6, 5, 3, 2, 1]
    View Code

    从结果看,是对的,栈确实反转了,但是变量是常量个吗???

    1. 从代码的33行看,每次判断栈是否为空,如果不为空就弹出栈顶元素,然后进行递归调用,直到把栈弹空,每次递归调用随便变量名称都是“tmp”,但是每次是同一个变量么,难道只要变量名称不变,就是一个变量吗,内存地址每次调用都在变化吧,所以从满栈到空栈,我们用了多少次“tmp”这个变量呢?和栈的大小一样吧,而且这是一个变量,还有tmp2,我们没有计算。
    2. 我们知道这是递归调用的函数,函数内的变量是存放在栈空间的,然后linux和windows默认的栈空间其实并不大吧

    默认就是这么大,linux你可以通过ulimit -a | grep stack 这个命令查看,如果这个要反转的栈大小为8M,那么可能就会出问题吧。

    综上所述,我怀疑这个问题是个伪命题,反正至少我没想到空间复杂度O(1) 就能实现反转的办法,如果有大神有办法请指教或是请下面留言,多谢。

    仅代表个人观点,如果内容有误,请留言指出,谢谢。

    临表涕零,不知所言。

    转载请注明——redbear博客

    推荐系统技术&大厂面试题
  • 相关阅读:
    【SQLite操作】SQLite下载使用教程
    【VS】编译/生成解决方案时错误 未能写入输出文件“...objDebugxxx.exe”--“另一个程序正在使用此文件,进程无法访问
    Webstorm 快速补全
    JS 之循环 应用案例1
    elementUI的el-input和el-select宽度 一致
    SpringMVC 参数中接收之一 List
    VUE 之_this.da 和 this
    CSS 格式 设置标签间距 和 input slot
    Spring最简单构建一个后台{msg:"登录成功",code:200,data:null}
    VUE SpringCloud 跨域资源共享 CORS 详解
  • 原文地址:https://www.cnblogs.com/redbear/p/8906772.html
Copyright © 2020-2023  润新知