![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
求与修
落霞与孤鹜齐飞 秋水共长天一色
展开
-
剑指offer-js 二进制中1的个数
二进制中1的个数题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。问题分析:将数字转换成二进制数字,如果是直接求的话,注意数组反转,反转之后,若不够32位进行补零负数的补码: 求出绝对值的原码,从最后一个数字开始往前数,到第一个1之后把前面的全部取反代码展示:function NumberOf1(n){ //还可以使用二进制转换来减少代码量 num.toString(2) var nums = []; var num = 0;原创 2020-05-26 13:01:24 · 288 阅读 · 0 评论 -
剑指offer-js 跳台阶-变态跳台阶
跳台阶-变态跳台阶跳台阶题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。问题分析:作为斐波那契数列的延伸,之前写过三种写法,现在用第四种代码展示:function jumpFloor(number){ // write code here //斐波那契问题 -- 继上次三种解法的第四种 // 1 2 3 4 5 6 // 1 2 3 5 var a = 1, b原创 2020-05-11 21:21:50 · 151 阅读 · 0 评论 -
剑指offer-js 斐波那契数列
斐波那契数列题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39问题分析:n数字不大,直接算就行,用递归,数列,定值都可以算代码展示:function Fibonacci(n){// 1,直接递归 if(n<=1){ return n; } return Fibonacci(n-1) + Fibonacci原创 2020-05-08 22:32:12 · 143 阅读 · 0 评论 -
剑指offer-js 旋转数组的最小数字
旋转数组的最小数字题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。问题分析:主要是两种方式: 1,直接找出最小的数字,输出 i,Math....原创 2020-05-06 15:47:12 · 211 阅读 · 0 评论 -
剑指offer-js 用两个栈实现队列
用两个栈实现队列题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。问题分析: 两个栈:一个插入 一个输出,但是注意 栈先入后出,队列先入先出 借助一次pop,push 之后再pop 就完成了顺序的颠倒,也就完成了先入先出代码展示:// 两个栈:一个插入 一个输出,但是注意 栈先入后出,队列先入先出// 借助一次pop,push 之...原创 2020-05-05 14:36:41 · 263 阅读 · 0 评论 -
剑指offer-js 重建二叉树
重建二叉树题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。问题分析:给出的是前序遍历序列,中序遍历序列找出根结点,也就是前序遍历序列的第一个节点,在中序遍历序列的中间部分,根据根结点进...原创 2020-05-04 12:32:39 · 206 阅读 · 0 评论 -
从头到尾打印链表
从头到尾打印链表题目描述:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。问题分析:循环遍历所有结点,将节点的值加入到数组中,反转输出代码展示:function printListFromTailToHead(head){ // write code here // 创建数组,添加元素,反转输出 res = []; while(hea...原创 2020-05-04 11:17:31 · 148 阅读 · 0 评论 -
替换空格
替换空格题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。问题分析:1,第一时间应该可以想到使用 正则表达式来进行空格的替换,关于空格的替换有两种方式: s = str.replace(/ /g,"%20"); s = str.replace(/\s/g,"...原创 2020-05-02 12:28:13 · 137 阅读 · 0 评论 -
二维数组中的查找
二维数组中的查找题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。问题分析:1,查找二维数组中的某个元素,最简单的就是暴力法,两个for循环逐个比对2,也可以根据给出的数组特性,从右上角开始每次找最右边的开始比较,逐层向下(中间可以...原创 2020-05-01 13:43:30 · 551 阅读 · 0 评论 -
JavaScript 内存管理
JS 内存管理内存管理 MDN详细介绍链接内存生命周期分配你说需要的内存使用分配到的内存(读,写)不需要时将其释放\归还JS的内存分配值的初始化 js 在定义变量时就完成了内存分配 var n = 123; // 给数值变量分配内存var s = "azerty"; // 给字符串分配内存var o = { a: 1, b: null}; // 给对象及其包含...原创 2020-03-22 11:20:38 · 157 阅读 · 0 评论