![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript算法
香芋芋圆
GIS前端——程序员小姐姐
展开
-
彻底弄清楚session,cookie,WebStorage(LocalStorage,SessionStorage)的区别及应用场景
客户端状态保持是一个老生常谈的问题了,归根结底追踪浏览器的用户身份及其相关数据无非就是以下四种方式:session,cookie,sessionStorage,localStorage。转载 2021-04-07 14:00:26 · 183 阅读 · 0 评论 -
二分法最常用的两种模板
二分法最常用的两种模板1.所查值可以不在数组中2.所查值必须在数组中1.所查值可以不在数组中这种情况对应的是新给一个数插入有序数组中(一维或多维都可以,如leetcode74),或找和它差值最小的数等等。思路是最后保留两个数,再做比较。//模板1 假设 target是所查值,list是数组let left = 0,right = length-1;while(left<right){ let mid = (left+right)>>>1; if(target &原创 2021-03-30 16:48:53 · 197 阅读 · 0 评论 -
判断闰年 js 一行代码
一行代码完成闰年判断,不偷懒。1.如果是整百的年份,除以400,判断余数2.如果不是整百的,除以4,判断余数原创 2021-03-29 16:38:02 · 205 阅读 · 0 评论 -
leetcode 82. Remove Duplicates from Sorted List II 删除排序链表中的重复元素 II 复杂度O(n) #javascript
leetcode 82. Remove Duplicates from Sorted List II 这道题相对简单,遍历链表,当发现有相等数字,删掉这个数字的所有即可!注意,链表题需要前置一个虚拟节点,防止head被删!/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.ne原创 2021-03-25 14:31:05 · 67 阅读 · 0 评论 -
Leetcode 456 132 Pattern (132模式) 单栈 (十行代码)
Leetcode 456 132 Pattern (132模式)法一:先找出 13,遍历求2法二:倒序,先找出32,遍历求1法一:先找出 13,遍历求2大概思路就是 先遍历取出当前节点往前的最小值,作为1,自己作为3,每个3遍历后面的,如果找到符合要求的作为2。 if(nums.length<=2) return false; let min = [nums[0]]; for (let i = 1; i < nums.length; i++) { min[i] = Mat原创 2021-03-24 13:58:48 · 62 阅读 · 0 评论 -
leetcode 277 基本计算器 Basic Calculator II (单栈,单次遍历,思路简单)
思路:遍历一次字符串,若碰到数字则取得该数字全部字符入栈,若碰到加减则把入栈数字*原符号追加进结果,更新符号,若碰到乘除则把入栈数字与符号后的数字运算后重新入栈原创 2021-03-12 14:55:41 · 126 阅读 · 0 评论 -
javascript Array数组操作 进阶版总结(建议收藏)
javascript Array数组操作 进阶版总结(建议收藏)1.字符串转数组进阶版2.数组整体操作3.数组转字符串的两种方式(1)list.toString().replace(/,/g,'')(2)list.join('')4.初始化一个有默认值的数组5.splice()1.字符串转数组var myList = myString.split(''); //实例: "abcd".split('') 输出 ['a','b','c','d']进阶版数字按位切分开:N.toString()原创 2020-12-15 15:40:39 · 109 阅读 · 0 评论 -
LeetCode 力扣 重构字符串 题解
767. 重构字符串给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同。若可行,输出任意可行的结果。若不可行,返回空字符串。示例 1:输入: S = “aab”输出: “aba”示例 2:输入: S = “aaab”输出: “”注意:S 只包含小写字母并且长度在[1, 500]区间内。解题思路1.若有一字符超过字符串S长度的一半,则一定完成不了重构任务,直接输出""。2.使用哈希Map算法对字符进行归类和计数,并保存出现次数最多的字符。3.使用数组,原创 2020-12-02 11:21:35 · 245 阅读 · 0 评论 -
双层循环遍历 减少时间复杂度
双层循环遍历 减少时间复杂度哈希表功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入双层for循环,时间复杂度O(n2),空间复杂度O(1),往往会带来很大的时间开销,尤其是当数组长度比较大时,很容易造成程序卡顿。接下来的方法可以用原创 2020-11-18 13:27:34 · 4621 阅读 · 0 评论