自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 02.03. 删除中间节点

删除中间节点题目给我干蒙了。/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } *//** * @param {ListNode} node * @return {void} Do not return anything, modify node in-place instead. */var de

2021-02-09 22:38:26 88

原创 02.02. 返回倒数第 k 个节点

返回倒数第 k 个节点我的思路代码双指针我的思路数组做多了,首先宪想到的就是数组啦。链表中的数据放入数组中。然后直接给出需要的值即可。代码var kthToLast = function(head, k) {let arr = []let cur = headwhile(cur){ arr.push(cur.val) cur = cur.next}return arr[arr.length - k]};后来又想了想,能不能不使用数组。var kthToLast =

2021-02-07 21:31:38 127

原创 02.01. 移除重复节点

移除重复节点使用临时缓冲区:不使用缓冲区:使用临时缓冲区:哈希表存储出现过的节点值,如果当前节点出现过,就删掉。(效率还是要高很多)const removeDuplicateNodes = (head) => { if (head == null) { return head; } const set = new Set(); set.add(head.val); let prev = head; // head是存在的,赋给prev let cu

2021-02-07 19:28:49 244

原创 01.09. 字符串轮转

字符串轮转思路代码思路笨比的我刚开始并没有一点思路。但是题解思路实在是妙啊。真是妙蛙种子吃着妙脆角进了米奇妙妙屋妙到家了代码var isFlipedString = function(s1, s2) { return s1.length === s2.length && (s2 + s2).includes(s1)};就是这样,十分简单,一看就懂,一做就不会。...

2021-02-05 22:44:19 122

原创 01.08 零矩阵

零矩阵思想代码思想用x,y来记录0所在的行和列即可代码/** * @param {number[][]} matrix * @return {void} Do not return anything, modify matrix in-place instead. */var setZeroes = function(matrix) { let h = matrix.length let w = matrix[0].length let x= new Set()

2021-01-20 22:56:29 162

原创 01.07 旋转矩阵

代码var rotate = function(matrix) { let h = matrix.length let w = matrix[0].length let line = [] let a = [] for (let i = 0; i < w; i++) { for (let j = h-1; j >= 0; j--) { line.push(matrix[j][i]) } .

2021-01-20 21:49:15 110

原创 01.06 字符串压缩

代码:/** * @param {string} S * @return {string} */var compressString = function(S) { let count=1; let str = new String() ; for(let i = 1 ; i < S.length+1 ; i++){ if(S[i-1] === S[i]){ count++ }else{ .

2021-01-17 21:59:39 148

原创 2021-01-17 缀点成线

简单的数学思维(我的思路)只考虑两个点,在验证所有的点,先考虑x1 === x2 和 y1 === y2然后考虑两个点的x的值可能为零,然后写出k,b的计算公式,最后用every判断一下。/** * @param {number[][]} coordinates * @return {boolean} */var checkStraightLine = function(coordinates) { let x1 = coordinates[0][0] let y1 = c..

2021-01-17 19:11:46 128

原创 2021-01-16 打砖块

打砖块记录var hitBricks = function(grid, hits) { const h = grid.length; w = grid[0].length; const uf = new UnionFind(h * w + 1); const status = JSON.parse(JSON.stringify(grid));; for (let i = 0; i < hits.length; i++) { status[h

2021-01-17 18:27:50 129

原创 01.05. 一次编辑

一次编辑一次编辑代码:改进的思路双指针也是一个很好的想法一次编辑开始想使用链表解决,发现替换的操作不容易操作。这个数组的splice方法确实很有帮助。代码:/** * @param {string} first * @param {string} second * @return {boolean} */var oneEditAway = function(first, second) { var diff =first.length-second.length if(Mat

2021-01-16 22:30:29 143

原创 2021-01-15 移除最多的同行或同列石头

移除最多的同行或同列石头题目:题解方法一:深度优先搜索思路及解法拓展:代码复杂度分析方法二:优化建图 + 深度优先搜索思路及解法代码复杂度分析方法三:优化建图 + 并查集思路及解法代码题目:n 块石头放置在二维平面中的一些整数坐标点上。每个坐标点上最多只能有一块石头。如果一块石头的 同行或者同列 上有其他石头存在,那么就可以移除这块石头。给你一个长度为 n 的数组 stones ,其中 stones[i] = [xi, yi] 表示第 i 块石头的位置,返回 可以移除的石子 的最大数量。示例1:

2021-01-16 20:01:36 388

原创 01.04. 回文排列

01.04. 回文排列题目:第一点想法:(基本思路还是正确的)使用对象来存储,而不是数组使用哈希表(感觉有点麻烦)题目:给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例1:输入: "tactcoa"输出: true(排列有"tacocat"、"atcocta",等等)第一点想法:(基本思路还是正确的)开始的思路是:转化为数组处理,通过借助一个临时的tmp数组,tmp找不到a中

2021-01-15 22:26:36 169

转载 终于讲清楚了nodejs中exports和module.exports的区别

转载:终于讲清楚了nodejs中exports和module.exports的区别

2020-10-23 22:34:29 84

原创 01.03. URL化 (用substring 限制一下长度)

01.03. URL化题目:知识补充自带API解法(我想到的方法)escape()函数encodeURI()函数encodeURIComponent() 函数总结:代码`split`分隔空格,然后在使用`join`添加`%20`正则表达式题目:URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)示例1:输入: "Mr John Smith ", 1

2020-10-22 17:42:35 383

原创 01.02. 判定是否互为字符重排 join()

01.02. 判定是否互为字符重排题目:知识补充两个重排的字符串应该具有相同的字符,但顺序不同。你可以让它们的顺序一样吗?代码其他方法第一次想到的方法(最笨的方法)题解中看到的方法题目:给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。示例1:输入: s1 = "abc", s2 = "bca"输出: true 示例2:输入: s1 = "abc", s2 = "bad"输出: false限制0 <= len(s1) &

2020-10-21 15:15:27 311 2

原创 01.01. 判定字符是否唯一 (散列表,位运算)

01.01. 判定字符是否唯一题目:知识补充1.散列表题目:实现一个算法,确定一个字符串 s 的所有字符是否全都不同。示例1:输入: s = "leetcode"输出: false 示例2:输入: s = "abc"输出: true限制0 <= len(s) <= 100如果你不使用额外的数据结构,会很加分。知识补充1.散列表...

2020-10-20 21:47:13 388

原创 setTimeout第二个参数是0

setTimeout第二个参数是01.使用var声明变量for(var i=1;i<=3;i++){ setTimeout(function(){ console.log(i); },0); }; 结果全部都是4,解释:虽然 setTimeout的时长是0,但是,也是启动了异步操作,而JavaScript本身是单线程的。所以,setTimeout的回调函数的代码(console.log(i))必须等到循环执行完毕后再执行。而且使用var在for循环中声明

2020-09-26 22:41:36 983

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除