随笔分类 -  算法总结

摘要:巧劲 function foo(x) { if(x < 2) return x; // 筛选出0和1 let y = 1; while(y <= x/y) { // 等于的时候也需要加,因为后面都会统一减一 y++; } return y - 1; } 赖劲 function foo(x) { re 阅读全文
posted @ 2023-01-03 18:22 卿六 阅读(20) 评论(0) 推荐(0) 编辑
摘要:使用标识 通过判断当前的节点是否有我们添加上去的标识,如果有标识是环,并且是环的入口 function foo(head) { while(head) { if(head.flag) return true; head.flag = true; head = head.next; } return 阅读全文
posted @ 2023-01-03 17:12 卿六 阅读(26) 评论(0) 推荐(0) 编辑
摘要:思路:取一个对比值,然后将他从原数组中取出,跟数组中剩下的值进行对比,需要创建两个数组,一个记录比值小的,一个记录比值大的 function quickSort(arr) { if(arr.length < 2) return arr; const middleIndex = Math.floor( 阅读全文
posted @ 2022-12-27 12:55 卿六 阅读(15) 评论(0) 推荐(0) 编辑
摘要:###动态规划题型难点 首先找不到dp的规律是什么 不知道什么时候开始,什么时候结束 不知道该用遍历还是递归(这个其实两个都一样,只是看个人更喜欢用那一种) ###挨个解决 首先对于找不到dp规律的,其实无非就那几种。后一个是在前一个或者前几个当中取最小/最大值,然后就可以得出类似这样的,dp[i] 阅读全文
posted @ 2022-12-20 10:28 卿六 阅读(30) 评论(0) 推荐(0) 编辑
摘要:数组扁平化就是将多维数组化为一维数组 ###递归的方式 function flatArr(arr) { return arr.reduce((result, item) => { return result.concat(Array.isArray(item) ? flatArr(item) : i 阅读全文
posted @ 2021-10-13 13:51 卿六 阅读(42) 评论(0) 推荐(0) 编辑
摘要:###深度遍历 ####前序遍历 function DLR(arr,root) { if(!root) return; //遍历结束条件 arr.push(root.val) //收集结果 DLR(arr, root.left) DLR(arr, root.right) } ####中序遍历 fun 阅读全文
posted @ 2021-09-10 12:58 卿六 阅读(104) 评论(0) 推荐(0) 编辑
摘要:####使用RegExp ``` function getCharCount(str, char) { //str父字符串,char子字符串 const regexp = new RegExp(char, 'g') //'g'表示需要匹配整个字符串 const result = str.match( 阅读全文
posted @ 2021-09-07 11:55 卿六 阅读(523) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示