上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 24 下一页
摘要: 概述 前一章介绍了Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈和本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊的执行着出栈和入栈操作。每一帧分配多少内存基本在类结构确定下来时就已知了,因此这几个区域的内存分配和回收具有确定性,线程结束时,内存就跟着回 阅读全文
posted @ 2017-04-17 11:12 且听风吟-wuchao 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 运行时数据区域 程序计数器 较小的内存空间,是当前线程所执行的字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各线程之间的计数器互不影响。 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 阅读(1212) 评论(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 阅读(176) 评论(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 阅读(525) 评论(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 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 给定一个已排序的二维数组array,在其中查找一个元素value 查找策略如下图: (1)将value和数组的右上角的值比较,如果大于右上角的值,则移除数组的第一行。 (2)将value和数组的左下角的值比较,如果大于左下角的值,则移除数组的第一列。 (3)直到查找完毕,已经找不到符合(1)(2)的 阅读全文
posted @ 2017-04-10 15:52 且听风吟-wuchao 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 分析 如下图所示,先将每个节点复制后,放到该节点后面,完成复制后,再拆分。 阅读全文
posted @ 2017-04-07 16:09 且听风吟-wuchao 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 二叉树 每个节点都不能有多于两个的儿子。 二叉树的五个性质 1.在二叉树的第i层上最多有2 i-1 个节点 。(i>=1) 2.二叉树中如果深度为k,那么最多有2k-1个节点。(k>=1) 3.n0=n2+1 n0表示度数为0的节点 n2表示度数为2的节点 4.在完全二叉树中,具有n个节点的完全二叉 阅读全文
posted @ 2017-04-07 14:14 且听风吟-wuchao 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 如下图所示,则认为树B是树A的子树。 代码如下: 阅读全文
posted @ 2017-03-30 10:08 且听风吟-wuchao 阅读(1106) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 24 下一页