随笔分类 - leetcode
摘要://20220411 题目描述: 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 题目链接 解题思路: 我们首先设定两个指针,第一个指针指向headA(indexA),第二个指针指向headB(indexB
阅读全文
摘要://20220408 题目描述DNA序列 由一系列核苷酸组成,缩写为 'A', 'C', 'G' 和 'T'.。 例如,"ACGAATTCCG" 是一个 DNA序列 。 在研究 DNA 时,识别 DNA 中的重复序列非常有用。 给定一个表示 DNA序列 的字符串 s ,返回所有在 DNA 分子中出现
阅读全文
摘要://20220406 题目描述:字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 题目链接:点我 解题思路: 使用贪心策略,贪婪的策略在于尽早结束当前片段(不断更新当前片段结束的坐标) 具体来说就是,使用end
阅读全文
摘要:> //20220404> 题目描述:给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。> 题目链接:[点我](https://leetcode-cn.com/problems/subarray-sum-equals-k/) ### 解题思路:- 我们
阅读全文
摘要://20220403 题目描述:给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 题目链接:点我 解题思路: 贪心,我们可以把区间想象成时间区段,每个时间区段有一个会议,我们需要在这么多
阅读全文
摘要://20220403 题目描述:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 题目链接:点我 解题思路: 从矩阵右上角开始搜索,因为从右上角开始,可以保证元素的右边、下边、右
阅读全文
摘要://20220402 题目描述:给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 题目链接:点我 解题思路: 模拟 代码如下: class Solution { public int[][] generateMatri
阅读全文
摘要://20220401 问题描述: 75.颜色分类 给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 必须在不使用库的sort函数的情况下解决这个问题
阅读全文
摘要:合并链表 //20220324 写在前面:这几天在复习算法,今天写到合并链表,发现自己突然没了思路,看答案发现很巧妙,在此记录一下 问题描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 解决思路: 递归:直接把问题分解,传送下一层,使用递归实现从
阅读全文
摘要:线上简单的一题 127 单词接龙I 题目链接:https://leetcode-cn.com/problems/word-ladder/ 思路:一开始想用的是DFS,一个节点一个节点的递推,然后超时了,因为这题深搜就是遍历所有路线,然后找出最小的,因为是一根线一根线的找,所以在穷举完成之前是出不了答
阅读全文
摘要:题目链接: https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/submissions/ 思路:使用dp,保存上一步的状态,然后递推 状态转移方程:last = Math.max(0, last + prices[i+1]
阅读全文
摘要:题目链接: https://leetcode-cn.com/problems/distinct-subsequences/submissions/ 思路: 一道dp的题 状态转移方程为: if (s[j] == t[i])dp[i][j] = dp[i-1][j-1] = dp[i][j-1] //
阅读全文
摘要:leetcode第三题: 题目: 给定一个字符串,找出不含有重复字符的最长子串的长度。 源码(使用java语言): 用时64ms 算法亮点,利用map键值对以及游标来巧妙获取最长子串长度,且仅需遍历一遍 因为map的containskey在查询到一个相同的值是就返回true,所以二层嵌套的if语句要
阅读全文
摘要:leetcode第二题 题目: 给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 源码(使用Java语言) 此算法比较简单,在这里做出两点说明: 注释“进位”那一行个人觉得很
阅读全文