摘要:
运行时数据区域 程序计数器 较小的内存空间,是当前线程所执行的字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各线程之间的计数器互不影响。 Java虚拟机栈 线程私有。虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于 阅读全文
摘要:
比如[1,2,3,4,5],排列结果可以是[1,5,3,4,2] 代码: 阅读全文
摘要:
给定整数n,依次输出1,2,3,……直到n位最大整数。 比如n=2,输出应该是:1,2,3,……,98,99 这道题中如果ntebie大,则不能使用数字来表示,因为可能会溢出。因此需要使用数组来表示。 当n=2时,用数组array={0,0}来表示可能的值。则array可能的情况有{0,0},{0, 阅读全文
摘要:
有如下公式: 因此我们求解a^n时,可以先求解r=a^(n/2) 比如求解r=3^5,先求解3^(5-1)/2=3^2=9,因此3^5=9×9×3=243 注:我们需判断a是否为零,n的正负情况 代码: 阅读全文
摘要:
比如数组[3,4,5,1,2就是已排序数组[1,2,3,4,5]的一个旋转数组。找出最小元素使用二分法,复杂度最小,为O(logn)。 旋转数组有以下三种情况 (1)最小值在首部,如[1,2,3,4,5] (2)最小值不在首部,如[3,4,5,1,2] (3)无法二分查找的特例,如[1,1,0,1, 阅读全文