自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 【剑指 Offer 学习】【面试题 11 : 数值的整数次方】【思路】

题目: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。   思路: 判断底数是否为 0(当两数相差很小时,可以认为相等),指数是否小于 0; 取指数的绝对值计算整数次方,若指数为负,通过【1 / 当前结果】得到负的整数次方; 计算整数次方,使用递归的方法: 当 n 为偶数时,a ^ n = a ^ (n / 2) * a ...

2018-12-31 11:25:42 105

原创 【剑指 Offer 学习】【面试题 10 : 二进制中 1 的个数】【思路】

题目: 输入一个整数,输出该数二进制表示中1的个数。   思路: 如果一个整数不为 0,那么这个整数至少有一位是 1。 如果我们把这个整数减 1,那么原来处在整数最右边的 1 就会变为 0,原来在 1 后面的所有的 0 都会变成 1 (如果最右边的1后面还有0的话)。其余所有位将不会受到影响。 举个例子: 一个二进制数 1100,减去 1 后,结果是 1011,第三位变成 0,它后面...

2018-12-30 22:39:20 114

原创 【剑指 Offer 学习】【面试题 9 进阶 : 矩形覆盖】【思路】

题目: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用 n 个 2*1 的小矩形无重叠地覆盖一个 2*n 的大矩形,总共有多少种方法?   思路: 依然是【斐波那契数列】 当 n = 0 时,return 0; 当 n = 1 时,return 1; 当 n = 2 时,两个小矩形同时横着或者竖着,return 2; 当 n > 2 时,举个栗子: 假如 n ...

2018-12-29 13:05:28 146

原创 【剑指 Offer 学习】【面试题 9 进阶: 跳台阶、变态跳台阶】【思路】

题目(跳台阶): 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。   思路: 假设现在 6 个台阶,可以从第 5 跳一步到 6,这样的话有多少种方案跳到 5 就有多少种方案跳到 6, 另外也可以从 4 跳两步跳到 6,跳到 4 有多少种方案的话,就有多少种方案跳到 6, 其他的不能从 3 跳到 6 什么的啦,所以最...

2018-12-28 17:07:29 194

原创 第 3 讲:谈谈 final、finally、 finalize 有什么不同

final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。 finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally或者 try-catch-finally 来进行类似关闭 JDBC 连接、保证 unlo...

2018-12-28 16:21:32 129

原创 第 2 讲:谈谈 Exception 和 Error 的区别

Exception 和 Error 的区别: Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。 Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。 Exception 又分为可检查(checked...

2018-12-28 08:46:32 149

原创 【剑指 Offer 学习】【面试题 9 : 斐波那契数列】【思路】

题目: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 斐波那契数列:0 1 1 2 3 5 8 13 21 34 55......   思路: 直接使用递归的方法,但是,递归的方法可能会遇到 Stack Overflow。 动态规划的方法:从第 2 项开始自底向上,先用一个变量记录已经计算的斐波那契数列值,再将相...

2018-12-27 21:40:34 126

原创 第 1 讲:谈谈对 Java 平台的理解

1、谈谈对 Java 平台的理解? Java 本身是一种面向对象的语言,最显著的特性包括两个方面: Write once, run anywhere(一次编译,到处执行)。 GC, Garbage Collection(垃圾收集)。   Java 特性: 面向对象(封装,继承,多态) 平台无关性(Java 虚拟机(JVM )运行.class 文件):不同的平台都有可以让 Java 运行...

2018-12-26 21:14:05 146

原创 【剑指 Offer 学习】【面试题 8 : 旋转数组的最小数字】【思路】

题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。   思路: 使用【二分法】 mid = low + (high - low)/2 需要考虑三种情况: ...

2018-12-26 16:28:40 124

原创 【剑指 Offer 学习】【面试题 7 : 重建二叉树】【思路】

题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。   思路: push 动作都在 stack1 中进行,pop 动作在 stack2 中进行。 边界条件判断,栈为空时,抛出异常。 当 stack2 不为空时,直接 pop; 当 stack2 为空时,先把 stack1 中的元素 pop 出来,push 到 stack2 中,再从 stack...

2018-12-25 18:43:48 143

原创 【剑指 Offer 学习】【面试题 6 : 重建二叉树】【思路】

题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。   思路: 【前序遍历】序列的【第一个节点】是【树的根节点】,由此创建根节点; 从【中序遍历】序列中找到【根节点】的位置,【根节点】的【左边】就...

2018-12-25 16:40:16 105

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除