随笔分类 - 数据结构与算法
发表于 2022-10-05 23:25阅读:18评论:0推荐:0
摘要:题目 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 代码 splice+push function moveZeroes(arr) { let count = 0; //用count来防止死循环
阅读全文 »
发表于 2022-10-03 23:26阅读:34评论:0推荐:0
摘要:二叉树的直径 题目 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 代码 var diameterOfBinaryTree = function(root) { let maxd = 0; function maxD
阅读全文 »
发表于 2022-09-22 22:42阅读:131评论:0推荐:0
摘要:前中后序遍历 递归法 //前序遍历var preorderTraversal = function(root) { let res=[]; const dfs=function(root){ if(root null)return ; //先序遍历所以从父节点开始 res.push(root.val
阅读全文 »
发表于 2022-09-22 21:54阅读:65评论:0推荐:0
摘要:动态规划的关键是:找出子问题,子问题可以通过子问题求解出来 动态规划的的四个解题步骤是: 1)定义子问题 2)写出子问题的递推关系 3)找出边界关系 4)空间优化(可选) 1 打家劫舍 题目 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有
阅读全文 »
发表于 2022-08-11 20:48阅读:26评论:0推荐:0
摘要:一、链表 1.合并两个有序链表 定义一个新链表,注意不仅仅要遍历两个指定链表,新的链表也要在while循环中遍历!否则永远只在第一个节点不断更新 2. 环形链表Ⅱ 双指针法和set方法 想要链表一直遍历循环,就得用while 添加到set中的元素就直接是节点,而不是节点值; 在一次while循环里,
阅读全文 »
发表于 2022-08-09 21:33阅读:99评论:0推荐:0
摘要:滑动窗口题目 HOT100 滑动窗口 1 最长连续子字符串 题目 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 思路 滑动窗口 使用 map 来存储当前已经遍历过的字符,key 为字符,value 为下标 使用 i 来标记无重复子串开始下标,j 为当前遍历字符下标 遍历字符
阅读全文 »
发表于 2022-04-30 23:57阅读:49评论:0推荐:0
摘要:复杂度、测试用例、边界条件 时间复杂度:看每一个元素被操作的次数 图解!24张图彻底弄懂九大常见数据结构!_业余码农AmazingJ的博客-CSDN博客_图解数据结构 void()仅仅是代表不返回任何值,但是括号内的表达式还是要运行,如 void(alert("Warnning!")) 1 数组 理
阅读全文 »
发表于 2022-04-29 23:17阅读:2545评论:3推荐:1
摘要:ACM需要自己定义输入和输出,针对js来说,有两种模式读取输入和打印输出,v8和node 请同时参考:牛客网ACM模式下JavaScript(V8)常见输入输出练习 https://ac.nowcoder.com/acm/contest/5657#question https://blog.csdn
阅读全文 »
发表于 2022-04-28 22:47阅读:88评论:0推荐:0
摘要:一、数组 ✔1.二维数组的查找 题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 解答方法: 力扣 成功 暴力解法——自己想到的解法 思路:两层f
阅读全文 »