【LeetCode第41题:First Missing Positive(Java、C++)详解】教程文章相关的互联网学习教程文章

leetcode【每日一题】992. K 个不同整数的子数组 java【代码】

题干 给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。 (例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2,以及 3。) 返回 A 中好子数组的数目。 示例 1: 输入:A = [1,2,1,2,3], K = 2 输出:7 解释:恰好由 2 个不同整数组成的子数组:[1,2], [2,1], [1,2], [2,3], [1,2,1], [2,1,2], [1,2,1,2]. 示例 2: 输入:A = [1,2,1,3,4], K = 3 输出:3 解释:...

【Leetcode】Java:栈和队列【代码】【图】

目录 参考了很多大佬的题解,仅作为自己学习笔记用。1、232. 用栈实现队列2、225. 用队列实现栈3、155. 最小值栈4、004. 栈判断括号匹配5、739. 数组中元素与下一个比它大的元素之间的距离6、503. 循环数组中比当前元素大的下一个元素参考资料参考了很多大佬的题解,仅作为自己学习笔记用。1、232. 用栈实现队列 题意: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty): 实现...

LeetCode——1128. 等价多米诺骨牌对的数量(Number of Equivalent Domino Pairs)——分析及代码(Java)【代码】

LeetCode——1128. 等价多米诺骨牌对的数量[Number of Equivalent Domino Pairs]——分析及代码[Java] 一、题目二、分析及代码1. 记录等价对数(1)思路(2)代码(3)结果三、其他 一、题目 给你一个由一些多米诺骨牌组成的列表 dominoes。 如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。 形式上,dominoes[i] = [a, b] 和 dominoes[j] = [c, d] 等价的前提是 a == c 且...

LeetCode——1733. 需要教语言的最少人数(Minimum Number of People to Teach)——分析及代码(Java)【代码】

LeetCode——1733. 需要教语言的最少人数[Minimum Number of People to Teach]——分析及代码[Java] 一、题目二、分析及代码1. 遍历(1)思路(2)代码(3)结果三、其他 一、题目 在一个由 m 个用户组成的社交网络里,我们获取到一些用户之间的好友关系。两个用户之间可以相互沟通的条件是他们都掌握同一门语言。 给你一个整数 n ,数组 languages 和数组 friendships ,它们的含义如下: 总共有 n 种语言,编号从 1 到 n。langua...

每日一题 21.02.07 LeetCode 665. 非递减数列 java题解【代码】【图】

题目 https://leetcode-cn.com/problems/non-decreasing-array/分析 采取贪心的策略,在遍历时,每次需要看连续的三个元素,也就是瞻前顾后,遵循以下两个原则: 需要尽可能不放大nums[i + 1],这样会让后续非递减更困难; 如果缩小nums[i],但不破坏前面的子序列的非递减性; 代码 class Solution {public boolean checkPossibility(int[] nums) {int len=nums.length;int count=0;for(int i=0;i<len-1;i++){int x=nums[i];int y=...

重学算法与数据结构系列 Java LeetCode 20. 有效的括号【代码】

20. 有效的括号 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。 示例 1: 输入:s = "()" 输出:true示例 2: 输入:s = "()[]{}" 输出:true示例 3: 输入:s = "(]" 输出:false示例 4: 输入:s = "([)]" 输出:false示例 5: 输入:s = "{[]}" 输出:true 提示: 1 <= s.length <= 104s 仅由括号 '()[]{...

leetcode 剑指Offer 68-I.二叉搜索树的最近公共祖先 Java【代码】【图】

二叉搜索树的最近公共祖先 做题博客链接题目链接描述示例初始代码模板代码 做题博客链接 https://blog.csdn.net/qq_43349112/article/details/108542248 题目链接 https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian-lcof/ 描述 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足...

LeetCode——989. 数组形式的整数加法(Add to Array-Form of Integer)——分析及代码(Java)【代码】

LeetCode——989. 数组形式的整数加法[Add to Array-Form of Integer]——分析及代码[Java] 一、题目二、分析及代码1. 依次相加(1)思路(2)代码(3)结果三、其他 一、题目 对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。 给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。 示例 1: 输入:A = [1,2,0,0], K = 34 输出:[1,2,3,4] 解释:1...

LeetCode—628. 三个数的最大乘积(Maximum Product of Three Numbers)——分析及代码(Java)【代码】

LeetCode—628. 三个数的最大乘积[Maximum Product of Three Numbers]——分析及代码[Java] 一、题目二、分析及代码1. 直接求解(1)思路(2)代码(3)结果三、其他 一、题目 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3] 输出: 6示例 2: 输入: [1,2,3,4] 输出: 24注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积...

leetcode hot100有效的括号 java【代码】

题目描述 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 辅助栈法: 如果字符串的长度是奇数,则直接返回false 否则: 新建一个map,key为右括号,value为左括号 循环遍历字符串,一次取出字符(char c = s.charAt(i)) 如果遇到左括号,则入栈(stack.push©) 如果遇到右括号: 如果栈为空,则说...

【LeetCode-easy】合并两个排序的链表(Java)【代码】【图】

//2021-2-29 //剑指offer 简单 //合并两个排序的链表 public class Solution13 {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {if (l1==null){return l2;}else if(l2==null){return l1;}ListNode newList = new ListNode(1);ListNode head = newList;ListNode p = l1;ListNode q = l2;while(l1!=null&& l2!=null){if(p.val < q.val ){l1 = l1.next;newList.next = p;newList = p;p = l1;}else{l2= l2.next;newList.ne...

LeetCode—189. 旋转数组(Rotate Array)——分析及代码(Java)【代码】

LeetCode—189. 旋转数组[Rotate Array]——分析及代码[Java] 一、题目二、分析及代码1. 分段翻转(1)思路(2)代码(3)结果三、其他 一、题目 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4]示例 2: 输入: [-1,-100,3,99] 和 k = 2 输...

leetcode 002 两数相加 Java题解【代码】【图】

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 提示:每个链表中的节点数在范围 [1, 100] 内 0 <= Node.val <= 9 题目数据保证列表表示的数字不含前导...

[Leetcode学习-c++&java]Find the Most Competitive Subsequence【代码】

问题: 难度:medium 说明: 给出一个数组 nums,和一个长度 K,要求返回一个长度 K 的数组,该数组属于原数组 nums 的子序列,然后要求返回数组是最具有竞争力,其实就是子序列的数字相对原数组顺序,每一位都是最小的。 题目连接:https://leetcode.com/problems/find-the-most-competitive-subsequence/ 输入范围: 1 <= nums.length <= 1050 <= nums[i] <= 1091 <= k <= nums.length 输入案例: Example 1: Input: nums = [3,5,...

[Leetcode学习-c++&java]Count Sorted Vowel Strings【代码】

问题: 难度:medium 说明: 给出一个数字 N,然后根据 a e i o u 五个元音字母进行组合,组合一个 N 长度的字符串。然后每个原音后面只能够组合 按 aeiou 排序的 自己位置或后面位置的字母,如 a 拼接 aa ae ai ao au,而 e 拼接 ee ei eo eu,按照 aeiou 顺序,每个字母后面只能跟一个和他一样的或者位置比他后的元音字母。 题目连接:https://leetcode.com/problems/count-sorted-vowel-strings/ 输入范围: 1 <= n <= 50 输入...