剑指Offer
uestc_zhangli
这个作者很懒,什么都没留下…
展开
-
2018.7.16——剑指Offer——面试题16:数值的整数次方
题目:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 代码的完整性:功能测试,边界测试,负面测试 本题要注意考虑底数为0或负数以及指数为0或者负数的情况 public class Solution { public double Power(double base, int exponent) throws Excep...原创 2018-07-16 23:42:44 · 175 阅读 · 0 评论 -
2018.7.17学习笔记——剑指Offer——面试题17:打印从1到最大的n位数
题目:输入数字n,按顺序打印出从1到最大的n为十进制数。比如输入3,则打印1、2、3一直到最大的3位数999。 分析:如果n不为正数的情况。以及最重要的是n较大时,n位十进制数可能超出了int甚至long型的范围。因此考虑用字符串或者数组来表示这样的大数。一个一个加1的方式 import java.util.Scanner; public class Solution { publ...原创 2018-07-17 23:48:14 · 176 阅读 · 0 评论 -
2018.7.13学习笔记——剑指Offer:回溯法——面试题13:机器人的运动范围
P92:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?public class Solution { ...原创 2018-07-13 15:07:11 · 163 阅读 · 0 评论 -
2018.7.5学习笔记
剑指Offer:P41 面试题三——题目二: 在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2, 3, 5, 4, 3, 2, 6, 7},那么对应的输出是重复的数字2或者3public class Solution { public boolean dupli...原创 2018-07-05 12:34:12 · 176 阅读 · 0 评论 -
2018.7.14学习笔记——剑指Offer:位运算——面试题15:二进制中1的个数
P100:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。判断整数最右边是否为1,让该整数与1做与运算,结果为0则不是,为1则是。方法1:public class Solution { public int NumberOf1(int n) { // 输入数右移做与运算,在负数的情况下会导致死循环 // 测试数左移做与运算,则完美避开死循环...原创 2018-07-14 17:05:13 · 153 阅读 · 0 评论