【LeetCode 225. 用队列实现栈---Java题解】教程文章相关的互联网学习教程文章

LeetCode算法题-Peak Index in a Mountain Array(Java实现)【代码】

这是悦乐书的第329次更新,第352篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第199题(顺位题号是852)。如果以下属性成立,我们将数组A称为山:A.length> = 3。 存在一个i(0 < i < A.length-1),使得A[0] <A[1] <... A[i-1] < A[i] > A[i + 1]> ...> A[A.length - 1]。给定一个绝对是山的数组,返回i,使得A[0] <A[1] <... A[i-1] <A[i]> A[i + 1]> ...> A [A.length - 1]。例如: 输入:[0,1,0] 输出:1输入:[0...

LeetCode算法题-Backspace String Compare(Java实现)【代码】

这是悦乐书的第327次更新,第350篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第197题(顺位题号是844)。给定两个字符串S和T,如果两个字符串都输入到空文本编辑器中并且相等,则返回true。 #表示退格符。例如:输入:S =“ab#c”,T =“ad#c” 输出:true 说明:S和T都变为“ac”。输入:S =“ab ##”,T =“c#d#” 输出:true 说明:S和T都变为“”。输入:S =“a ## c”,T =“#a#c” 输出:true 说明:...

LeetCode算法题-Rectangle Overlap(Java实现)【代码】【图】

这是悦乐书的第325次更新,第348篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第195题(顺位题号是836)。矩形表示为数组[x1,y1,x2,y2],其中(x1,y1)是其左下角的坐标,(x2,y2)是其右上角的坐标。 如果交叉区域为正,则两个矩形重叠。两个仅在拐角处或边缘处接触的矩形不会重叠。给定两个(轴对齐)矩形,判断它们是否重叠。例如:输入:rec1 = [0,0,2,2],rec2 = [1,1,3,3] 输出:true输入:rec1 = [0,0,...

LeetCode算法题-Positions of Large Groups(Java实现)【代码】

这是悦乐书的第323次更新,第346篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第193题(顺位题号是830)。在由小写字母组成的字符串S中,那些相同的连续字符会组成集合。例如,诸如S =“abbxxxxzyy”的字符串具有集合“a”,“bb”,“xxxx”,“z”和“yy”。 如果集合有3个或更多字符,称之为大集合,要求找到每个大集合的起点和终点,以数组形式返回,以从前往后顺序。例如:输入:“abbxxxxzzy” 输出:[[3,6]]...

【Java力扣算法】LeetCode 140 单词拆分II(有待改进)【图】

题目: 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明: 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1: 输入: s = " catsanddog " wordDict = ["cat", "cats", "and", "sand", "dog"]输出: [ ? "cats and dog", ? "cat sand dog" ]示例 2:输入: s = "pineapplepenappl...

LeetCode--045--跳跃游戏II(java)【代码】

给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2 从下标为0跳到下标为1的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明: 假设你总是可以到达数组的最后一个位置。 贪心:curMax当前能走的最大长度,maxNext最终能走的最...

LeetCode--044--通配符匹配(java)*【代码】

给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 ? 可以匹配任何单个字符。 * 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。 说明:s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。示例 1: 输入: s = "aa" p = "a" 输出: false 解释: "a" 无法匹配 "aa" 整个字符串。 示例 2: 输入: s = "aa" p = "*" 输出: true 解...

LeetCode算法题-Goat Latin Easy(Java实现)【代码】

这是悦乐书的第322次更新,第344篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第192题(顺位题号是824)。给出句子S,由空格分隔的单词组成。每个单词仅由小写和大写字母组成。我们想将句子转换为"Goat Latin"(一种类似于Pig Latin的伪造语言)。 山羊拉丁的规则如下: (1)如果单词以元音(a,e,i,o或u)开头,则在单词的末尾附加"ma"。例如,"apple"这个词就变成了"applema"。 (2)如果一个单词以辅音(即不...

LeetCode--040--组合总和 II(java)【代码】

给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明:所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。 示例 1: 输入: candidates = [10,1,2,7,6,1,5], target = 8, 所求解集为: [[1, 7],[1, 2, 5],[2, 6],[1, 1, 6] ]示例 2: 输入: candidates = [2,5,2,1,2], target = 5, 所求解集为: [ [1,2,2], [...

LeetCode--039--组合总和(java)【代码】

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明:所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例 1: 输入: candidates = [2,3,6,7], target = 7, 所求解集为: [[7],[2,2,3] ]示例 2: 输入: candidates = [2,3,5], target = 8, 所求解集为: [ [2,2,2,2], [2,3,3], [3,5] ] 回溯 执...

LeetCode算法题-Most Common Word(Java实现)【代码】

这是悦乐书的第321次更新,第342篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第190题(顺位题号是819)。给定一个段落和一组禁止词,返回不在禁止词列表中的最常用词。段落中保证至少有一个词没有被禁止,并且答案是独一无二的。禁用单词列表中的单词以小写字母给出,没有标点符号。段落中的单词不区分大小写。答案是小写的。例如:输入: paragraph = "Bob hit a ball, the hit BALL flew far after it was hit."...

leetcode第四题java解法寻找两个有序数组的中位数【代码】

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2]则中位数是 2.0示例 2: nums1 = [1, 2] nums2 = [3, 4]则中位数是 (2 + 3)/2 = 2.5思路: class Solution {public double findMedianSortedArrays(int[] nums1, int[] nums2) {int sum=nums1.length+nums2.length;in...

LeetCode算法题-Number of Lines To Write String(Java实现)【代码】

这是悦乐书的第319次更新,第340篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第188题(顺位题号是806)。我们要将给定字符串S的字母从左到右写成行。每行最大宽度为100个单位,如果写一个字母会导致该行的宽度超过100个单位,则会写入下一行。给出一个数组宽度,一个数组,其中widths[0]是a的宽度,widths[1]是b的宽度,widths[25]是z的宽度。 现在回答两个问题:S中至少有一个字符有多少行,最后一行使用的宽度是...

LeetCode算法题-Rotated Digits(Java实现)【代码】

这是悦乐书的第316次更新,第337篇原创01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第185题(顺位题号是788)。如果一个数字经过180度旋转后,变成了一个与原数字不同的数,这样的数被称为好数字。数字中的每一位都必须经过旋转。旋转的规则是:0,1,8这三个数旋转后还是自身,2旋转后变为5,5旋转后变为2,6旋转后变为9,9旋转后变为6,剩下的3,4,7旋转后并不能转成其他数字,是无效的。现在给出正数N,从1到N的好数字一...

leetcode 123. 买卖股票的最佳时机 III JAVA【代码】

题目: 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [3,3,5,0,0,3,1,4] 输出: 6 解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3 。 随后,在第 7 天(股票价格 = 1)的时...