剑指Offer 49 把字符串转换成整数 题目描述将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 思路 其实这道题就是要考虑周全就行,首先是字符串的鉴别啊,“+”和“-”的判别,然后我就写多了。。。。 more >> 2017-04-09 剑指Offer算法
剑指Offer 47 不用加减乘除做加法 题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路 依靠位运算,其实真的很巧妙对于+运算,难点其实就在进位运算;(101+10001)不考虑进位就是=10100;就是异或运算,只有一个1一个0才等于1;然后考虑进位,两个都是1才可能产生进位;也就是与运算;然后在左移一位即可; more >> 2017-04-08 剑指Offer算法
剑指Offer 46 求1+2+3+....n 题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路 首先没了上面那些关键字你会发现,你不能循环了,所以你得想办法循环,书上给的是构造函数,但是java默认构造函数不初始化,除非你手动,所以说就不行了 没有if,你会发现递归的条件不能控制了,和for,while一样,其实我们失去的就是控制边界;那么想法就是如何让程序顺利退出;3.下面说三种方法,异常,&&短路运算符,次方运算 more >> 2017-04-08 剑指Offer算法
剑指Offer 45圆圈中最后剩下的数字 题目描述0,1。。。n-1这n个数字排成圈;从数字0开始报数(报数开始为1),报道m时,把它踢出去,然后继续从1报数,最后会剩下谁 思路 模拟游戏过程,直接建一个循环列表,一个一个报数,不过显然这种方法比较复杂; 不一个一个报数了,直接开上帝模式,指挥下一个出去 公式的啦,数学之美; more >> 2017-04-08 剑指Offer算法
牛客网刷题笔记 2 笔记 Math.round() 取最近似的值,如果一样大,取偏大的值;Math.round(11.5) 等于12. Math.round(-11.5) 等于11; floor : 意为地板,指向下取整,返回不大于它的最大整数 ceil : 意为天花板,指向上取整,返回不小于它的最小整数 java命令用来执行java程序;javac是编译; more >> 2017-04-06 Java刷题