- 博客(14)
- 收藏
- 关注
原创 剑指offer 面试题23 从上往下打印二叉树 Java实现
package sword.to.offer;import java.util.LinkedList;import java.util.Queue;public class PrintFromTopToBottomOfBinaryTree { class BinaryTreeNode{ public BinaryTreeNode(int value) { this.mValu
2016-07-27 16:43:15 391
原创 剑指offer面试题 22 栈的压入、弹出序列的匹配
不多说,上代码package sword.to.offer;import java.util.Stack;public class IsPopOrder { static boolean isPopOrder(final int[]pPush,final int[] pPop,int nLegnth){ boolean bImpossible=false; if(pP
2016-07-25 15:17:29 263
原创 剑指offer 面试题21 包含min函数的栈 Java实现
废话不多说,直接上代码。此处借用了Integer代替任意的泛型,这是因为在Java中任意的泛型定义的两个对象之前是不能直接用等去比较的。非要这么设计,失去一般性,也没有了意思。一个数据栈和一个辅助栈实现了一个包含min函数的栈:如下package sword.to.offer;import java.util.Stack;public class StaticWithMIN{
2016-07-25 14:42:28 518
原创 二叉树的循环遍历方法,Java实现。利用栈和arraylist
记忆法:if 的位置先序遍历:if while中序遍历:while if else后序遍历:do while while if else break whilepackage sword.to.offer;import java.util.ArrayList;import java.util.List;import java.util.Stack;class Bi
2016-07-24 14:06:09 2587 2
原创 剑指offer第19题 输出二叉树的镜像 java解法
废话不多说,代码呈上来:class BinaryTree{ int value; BinaryTree mLeft; BinaryTree mRight;}public class BinaryTreePreOrderPrint { public static void preOrderPrint(BinaryTree binaryTree) { if(binaryTree==
2016-07-24 10:15:56 396
转载 android垃圾回收机制及程序优化System.gc
android垃圾回收机制及程序优化System.gc1.垃圾收集算法的核心思想 Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。 垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别,如果对
2016-07-23 22:44:01 368
原创 剑指offer第12题 最优解
public class Print1ToMaxOfNDigits_1 { /** * print1ToMax把每一位赋值为零字符; * * * @param n */ void print1ToMax(int n) { if(n<0) { return; } char[] number = new char[n]; for (int i
2016-07-22 16:32:08 388
转载 Android之ListView异步加载网络图片(优化缓存机制)
网上关于这个方面的文章也不少,基本的思路是线程+缓存来解决。下面提出一些优化:1、采用线程池2、内存缓存+文件缓存3、内存缓存中网上很多是采用SoftReference来防止堆溢出,这儿严格限制只能使用最大JVM内存的1/44、对下载的图片进行按比例缩放,以减少内存的消耗具体的代码里面说明。先放上内存缓存类的代码MemoryCache.Java:
2016-07-19 22:58:48 453
转载 Java数组初始化
1.Java 数组初始化的两种方法: 静态初始化: 程序员在初始化数组时为数组每个元素赋值; 动态初始化: 数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值。[java] view plain copy print?public class ArrayInit { public s
2016-07-19 09:31:37 370
原创 剑指offer面试题12 使用BigInteger来实现 打印1到最大的n位数
/*** 注意事项:* 1.n位数为无穷大时怎么办,首先int表示不了。是否可选BigInteger* 2.n为负数时,异常错误* 3.循环输出时,分界值判断位数* 步骤:* 1.判断n是否为负数,输出异常(可用一个全局变量);* 2.求出最大值为max=9e(n)+9e(n-1)……+9e(0)* 3.放不下怎么办?* * @param n 位数* @
2016-07-09 21:37:31 909
转载 不用算术运算符实现两个数的加法(按位异或)
不用算术运算符实现两个数的加法(按位异或) 对于二进制的加法运算,若不考虑进位,则1+1=0,1+0=1,0+1=1,0+0=0,通过对比异或,不难发现,此方法与异或运算类似。因而排出进位,加法可用异或来实现。然后考虑进位,0+0进位为0,1+0进位为1,0+1进位为0,1+1进位为1,该操作与位运算的&操作相似。 那么加法运算可以这样实现: 1)先不考虑进位,按
2016-07-09 20:12:26 1017
原创 剑指offer面试题11 数值的整数次方的Java代码实现
数值的整数次方的Java代码实现剑指offer这本书不错。以下是我对这道题的Java代码实现/** * 剑指offer中面试题11:数值的整数次方double power(double base,int exponent) * 注意事项: * 1.指数exponent可能为正数,负数和0。数值的负数次方,可以先求绝对值,然后求倒数(但是底数为0异常,查看2)。 * 2.底数
2016-07-09 19:39:01 703
转载 Java中BigInteger详解
用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂。用Java刷了一些题,感觉Java还不错,在处理高精度和进制转换中,调用库函数的来处理。下面是写的一些Java中一些基本的函数的及其……头文件:import java.io.*; import java.util.*; import java.math.*;读入:
2016-07-09 17:09:50 573
原创 剑指offer中,求输入整数的二进制形式中1的个数(Java代码)
代码呈上来:(1).把一个整数减去1,然后与原整数相与,可以将原整数中最右边的“1”的右边的0全部变为0。最后把所得整数赋值给原整数;(2).重复执行上述步骤,直到这个整数变为0;(3).累计(1)执行的次数即为1的个数。/** * * 计算一个整数的二进制表示中1的个数 * @param i * @return */ public static int
2016-07-09 16:59:18 287
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人