摘要: 运行时数据区域 程序计数器 较小的内存空间,是当前线程所执行的字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各线程之间的计数器互不影响。 Java虚拟机栈 线程私有。虚拟机栈描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于 阅读全文
posted @ 2017-04-11 20:10 且听风吟-wuchao 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 比如[1,2,3,4,5],排列结果可以是[1,5,3,4,2] 代码: 阅读全文
posted @ 2017-04-11 15:38 且听风吟-wuchao 阅读(1200) 评论(0) 推荐(0) 编辑
摘要: 给定整数n,依次输出1,2,3,……直到n位最大整数。 比如n=2,输出应该是:1,2,3,……,98,99 这道题中如果ntebie大,则不能使用数字来表示,因为可能会溢出。因此需要使用数组来表示。 当n=2时,用数组array={0,0}来表示可能的值。则array可能的情况有{0,0},{0, 阅读全文
posted @ 2017-04-11 15:05 且听风吟-wuchao 阅读(168) 评论(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的正负情况 代码: 阅读全文
posted @ 2017-04-11 12:19 且听风吟-wuchao 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 比如数组[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, 阅读全文
posted @ 2017-04-11 10:24 且听风吟-wuchao 阅读(226) 评论(0) 推荐(0) 编辑