![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣
文章平均质量分 51
大柠丶
平芜尽处是青山
展开
-
拓扑排序问题
你这个学期必须选修 numCourses 门课程,记为0到numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组prerequisites 给出,其中prerequisites[i] = [ai, bi] ,表示如果要学习课程ai 则 必须 先学习课程bi 。例如,先修课程对[0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。请你判断是否可能完成所有课程的学习?如果可以,返回 true ;否则,返回 false 。示例 1:...原创 2022-03-10 23:04:27 · 151 阅读 · 0 评论 -
力扣刷题小记——最长重复子序列?最长重复子数组?
子序列默认不连续,子数组默认连续!!!连续与不连续处理起来差别很大一、最长重复子序列(哈希表)用HashMap集合记录两个数组每个数字和其对应出现的次数,再用set集合去重,将set集合转换成数组并遍历,如果两个HashMap集合中都有对应的key值,那么res加上两者中较小的那个public int eldestSonSequence(int[] nums1, int[] nums2) { Map<Integer, Integer> map1 = new Ha原创 2022-03-08 18:49:50 · 588 阅读 · 0 评论 -
LeetCode刷题小记——#518. 零钱兑换 II
给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。假设每一种面额的硬币有无限个。题目数据保证结果符合 32 位带符号整数。输入:amount = 5, coins = [1, 2, 5]输出:4解释:有四种方式可以凑成总金额:5=55=2+2+15=2+1+1+15=1+1+1+1+1原题链接https://leetcode-cn.com/pr..原创 2022-02-27 15:43:45 · 5398 阅读 · 0 评论 -
LeetCode刷题小记——#买卖股票问题
一、#121. 买卖股票的最佳时机给定一个数组 prices ,它的第i 个元素prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。解法一、dpdp[i]表示的是截止到第i天能获得最大利润,我们只要算出截止到今天的最低价格,用昨天的价格减去今天的价格再与昨天能获得的最大利润作比较,...原创 2022-02-27 10:28:33 · 410 阅读 · 0 评论 -
LeetCode刷题小记——#179.最大数
给定一组非负整数nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。https://leetcode-cn.com/problems/largest-number/https://leetcode-cn.com/problems/largest-number/比较器排序Comparator的使用 合理使用StringBuilder类处理字符串class Solution { public St...原创 2022-02-21 20:22:41 · 88 阅读 · 0 评论 -
LeetCode刷题小记——#316. 去除重复字母
给你一个字符串s,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。https://blog.csdn.net/weixin_53364209?type=bloghttps://blog.csdn.net/weixin_53364209?type=blogclass Solution { public String removeDuplicateLetters(String s) { //创建一个栈,...原创 2022-02-17 20:11:45 · 838 阅读 · 0 评论 -
LeetCode刷题小记——#334. 递增的三元子序列
给你一个整数数组nums ,判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标 (i, j, k)且满足 i < j < k ,使得nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。https://leetcode-cn.com/problems/increasing-triplet-subsequence/https://leetcode-cn.com/problems/increasing...原创 2022-02-17 20:07:35 · 260 阅读 · 0 评论 -
LeetCode刷题小记——#134.加油站
在一条环路上有 n个加油站,其中第 i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组 gas 和 cost ,如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。https://leetcode-cn.com/problems/gas-station/https://leetcode...原创 2022-02-17 16:04:10 · 125 阅读 · 0 评论 -
LeetCode刷题小记——#18.四数之和
给你一个由 n 个整数组成的数组nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组[nums[a], nums[b], nums[c], nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0 <= a, b, c, d< na、b、c 和 d 互不相同nums[a] + nums[b] + nums[c] + nums[d] == target你可以按 任意顺序 返回答案 。https://leetcode-cn.co...原创 2022-02-13 14:10:02 · 426 阅读 · 0 评论 -
LeetCode刷题小记——#15.三数之和
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。https://leetcode-cn.com/problems/3sum/https://leetcode-cn.com/problems/3sum/这题还是标准的双指针算法,三数之和,只需要先固定一个数字,剩下两个数字当成双指针就行了,但是还需要特别注意,本题需要去重。class Solu原创 2022-02-13 13:02:04 · 168 阅读 · 0 评论 -
LeetCode刷题小记——#3.无重复字符的最长子串
这里我用的队列解决:class Solution { public int lengthOfLongestSubstring(String s) { LinkedList<Character> queue = new LinkedList<>(); int maxLen = 0; for (int i = 0; i < s.length(); i++) { Character c = s.c原创 2022-02-12 14:21:34 · 252 阅读 · 0 评论