![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
坚持写博客!
这个作者很懒,什么都没留下…
展开
-
6-JavaScript-剑指offer-字符流中第一个不重复的字符
题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。方法一(能够通过牛客网检验的)使用哈希表(作者本人只是照猫画虎,对于哈希表还需要深入学习)let map =...原创 2020-04-19 22:01:38 · 165 阅读 · 0 评论 -
6-JavaScript-剑指offer-表示数值的字符串
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。//s字符串function isNumeric(s){ // write code here return Number...原创 2020-04-19 12:13:42 · 207 阅读 · 0 评论 -
5-JavaScript-剑指offer-矩形覆盖
分析:当n=0时,rectCover(0) = 0;当n=1时,rectCover(0) = 1;当n=2时,rectCover(0) = 2;当n=3时,rectCover(0) = 3;当n=4时,rectCover(0) = 5;当n=5时,rectCover(0) = 8;…当为n时,rectCover(n) =rectCover(n-1)+rectCover(n-2) ;...原创 2020-04-18 23:45:15 · 150 阅读 · 0 评论 -
5-JavaScript-剑指offer-变态跳台阶- 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。分析:当n=0时,f(0) = 0;当n=1时,f(1) = 1;当n=2时,f(2) = f(1) + 1 = 2 ✖ f(1);当n=3时,f(3) = f(2) + f(1) + 1 = 2 ✖ f(2);当n=4时,f(4) = f(3) + f(2) + f...原创 2020-04-18 23:02:28 · 333 阅读 · 1 评论 -
4-JavaScript-剑指offer-数组中重复的数字
题目在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。代码:function duplicate(numbers, duplication){ // write cod...原创 2020-04-17 23:26:19 · 86 阅读 · 0 评论 -
4-JavaScript-剑指offer-把字符串转换成整数-将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0
方法一:直接使用字符串转化为数字的方法function StrToInt(str){ if(str == '-2147483649' || str == '2147483648') return 0; return Number(str) ? parseInt(str) : 0; //当str为不合法数值时,Number(str)的值为NaN,Boolean(NaN)...原创 2020-04-17 22:49:22 · 376 阅读 · 0 评论 -
3-JavaScript-剑指offer-不用加减乘除做加法(写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。)
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。分析:考察的是用二进制的方式的进行加法运算二进制值相加:101+111第一步:相加各位的值,不算进位,得到010,二进制每位相加就相当于各位做异或操作,101 ^ 111。第二步:计算进位值,得到1010,相当于各位做与操作得到101,再向左移一位得到1010,(101&111)<<...原创 2020-04-17 00:01:54 · 173 阅读 · 0 评论 -
2-JavaScript-剑指offer-替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。function replaceSpace(str){ return str.replace(/\s/g,'%20')}...原创 2020-04-15 23:17:06 · 83 阅读 · 0 评论 -
2-JavaScript-剑指offer-构建乘积数组
题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)function multiply(array) { // ...原创 2020-04-15 23:11:13 · 123 阅读 · 1 评论 -
2-JavaScript刷算法-剑指offer-斐波拉契数列
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。function Fibonacci(n){ if(n<=0) return 0; else if(n==1||n==2) return 1; else{ return Fibonacci(n-1)+Fibonacci(n-2); }}...原创 2020-04-15 22:37:34 · 118 阅读 · 0 评论 -
剑指offer-二维数组的查找
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。方法一:二分查找思路:其实就是将每一行都当作是有序的一维数组进行二分查找,然后遍历每一行,代码如下:public class Solution { public boolean Find(int...原创 2020-04-11 11:28:32 · 91 阅读 · 0 评论