剑指offer
i_ViOLeT_i
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JS《剑指offer》第六题 旋转数组的最小数字
第三题 从尾到头打印链表题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。看到这题目时,我觉得“非减排序”说的有点含糊,个人觉得这包含很多种情况,例如,[...原创 2019-07-25 10:23:35 · 246 阅读 · 0 评论 -
JS《剑指offer》第一题 二维数组中的查找
第一题 二维数组中的查找题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路1、获取数组有多少行(row)、多少列(col)。这里直接将这两个数值进行减一,得到二维数组行和列的最大索引2、排除[[],[],[],…,[]] 和[]这...原创 2019-07-22 11:56:49 · 229 阅读 · 0 评论 -
JS《剑指offer》第二题 替换空格
第二题 替换空格题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。做这题的时候用了两种方法一、方法一:通过题目可知:一个空格替换成%20 后,长度会变成(加2)这里都直接把长度减1,数组索引最大值思路:1、将字符串变成数组split(’’)2、可以遍历数组,计...原创 2019-07-22 12:04:56 · 243 阅读 · 0 评论 -
JS《剑指offer》第三题 从尾到头打印链表
第三题 从尾到头打印链表题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。做这题的时候用了两种方法一、方法一:思路:栈。将链表按顺序把val放进数组,放进数组的方式是从头部开始添加。画了一个图便于理解,也许不够严谨function printListFromTailToHead(head){ // write code here var...原创 2019-07-22 16:56:09 · 286 阅读 · 0 评论 -
JS《剑指offer》第七题 斐波那契数列
第七题 斐波那契数列题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39分析一看到这道题,想到的就是用递归来做,递归代码慢,因为重复的计算太多。改进:把已经得到的数列中间项保存起来,下次需要计算的时候先去查找一下,如果前面已经计算过就不用再重复计算了function Fibonacci(n){ /...原创 2019-07-26 16:37:19 · 286 阅读 · 0 评论 -
JS《剑指offer》第八题 跳台阶
第八题 跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。分析考察数学建模能力这题关键就是要学会分析题目。其实就是斐波那契数列1级台阶时,1种跳法2级台阶时,2种跳法n>2级台阶时,把n级台阶时的跳法看成是n的函数,如果n级台阶记有f(n)种跳法,当第一次跳了1级,那么剩下有f(n-1)种...原创 2019-08-01 16:02:41 · 266 阅读 · 0 评论 -
JS《剑指offer》第九题 变态跳台阶
第九题 变态跳台阶题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。分析考察数学建模能力这题关键就是要学会分析题目。这道题就是上一道题的变形,如果会分析题目就会变得很简单设跳n级,有f(n)种跳法1)n=1,跳法:1种2)n=2,跳法:2种。。。。。。3)n=n-1,跳法:如果第一次跳1级,则剩下有f(n...原创 2019-08-01 16:05:39 · 250 阅读 · 0 评论 -
JS《剑指offer》第十题 矩形覆盖
第十题 矩形覆盖题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?分析考察数学建模能力这题关键就是要学会分析题目。如果会分析题目就会变得很简单设用n个21的小矩形,覆盖2n大矩形,有f(n)种方法1)n=1,方法:1种2)n=2,方法:2种。。。。。。3)n=3,方法:如果先竖着覆盖,则剩下...原创 2019-08-01 16:52:15 · 234 阅读 · 0 评论 -
JS《剑指offer》第十一题 二进制中1的个数
第十一题 二进制中1的个数题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。分析计算机中正数就是原码表示,负数用补码表示,所以不需要我们自己把数字转化为二进制。题目中说到负数用补码表示,实际上计算机中的负数就是用补码表示的。所以,输入的数字我们也可以直接当成二进制就行。1、可能引起死循环的解法:每次都用最右边一位判断是不是1,判断完后,然后右移一位。如果是正...原创 2019-08-27 11:08:12 · 310 阅读 · 0 评论
分享