LeetCode算法
文章平均质量分 63
LeetCode题解,把它们记录下来,方便自己以后的回顾。
WuArmin
好好学习算法,不负将来
展开
-
Leetcode 153/154: 寻找旋转排序数组中的最小值—java代码
文章目录153.寻找旋转排序数组中的最小值Ⅰ154.寻找旋转排序数组中的最小值Ⅱ153.寻找旋转排序数组中的最小值Ⅰ 题目详情:已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如:原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到:若旋转 2 次,则可以得到 [2,4,5,6,7,0,1]若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次,则可以得到 [0,1,2,4,5,6,7]给定一个元素值 互不相同原创 2021-04-09 21:20:16 · 159 阅读 · 0 评论 -
Leetcode 26/80:删除有序数组的重复项—java代码
26.删除有序数组的重复项题目详情:给定一个有序数组nums,请 原地 删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。不使用额外的数组空间,必须在 原地 修改输入数组,并在使用 O(1) 额外空间的条件下完成。示例1:输入: nums = [1,1,2]输出: 2,nums = [1,2]解释: 函数返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。示例2:输入: nums = [0,0,1,1,1,2原创 2021-04-08 13:02:39 · 145 阅读 · 0 评论 -
Leetcode 141:环形链表—java代码
题目描述给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一原创 2021-03-31 20:04:23 · 125 阅读 · 0 评论 -
Leetcode 345:反转字符串中的元音字符-java代码
题目描述编写一个函数,以字符串作为输入,反转该字符串中的元音字母。左右两侧首先出现的元音字符直接互换,分别第二次出现的元音字符继续互换,以此类推。示例 1:输入:leetcode输出:leotcede示例 2:输入:hello输出:holle示例 3:输入:maybe输出:meyba算法:reverseVowels()使用双指针(双撞指针),左指针从头向尾遍历,右指针从尾到头遍历,当两个指针都遍历到元音字符时,交换这两个元音字符。为了快速判断一个字符是不是元音字符,我原创 2021-03-19 14:28:59 · 238 阅读 · 4 评论 -
Leetcode 633:两数平方和—java代码
题目描述判断一个非负整数是否为两个正整数的平方和。示例 1:输入:5输出:True描述:1 * 1 + 2 * 2 = 5示例 2:输入:6输出:False描述:找不到满足平方和为6的两个正整数示例 3:输入:25输出:True描述:3 * 3 + 4 * 4 = 25算法:twoSquareSum()看作是在元素为 0~target 的有序数组中查找两个数,使得这两个数的平方和为target,如果能找到则返回True,表示target是两个整数的平方和。本题使用原创 2021-03-12 21:19:30 · 681 阅读 · 0 评论 -
Leetcode 167:有序数组的两数之和-java代码
题目描述给定一个已按照升序排列的证书数组nums,请从数组中找出满足两个数相加之和等于目标值target。函数应该以长度为2的整数数组的形式返回两个数的下标值。每个输入只对应唯一的答案,而且不可以重复使用相同的元素。示例 1:输入: nums = [2, 9, 11, 13], target = 13输出: [1, 2]解释: 2 和 11之和等于目标数 13。 因此index1 = 1,index2 = 2。示例 2:输入: nums = [6, 9, 12], target原创 2021-03-06 18:36:16 · 271 阅读 · 0 评论 -
Leetcode 15:三元素之和为零-java代码
题目描述给定由N个整数组成的数组nums,找出三个元素之和为0的三元组(非重复序列),并记录这样的三元组的数量。ThreeSum算法//ThreeSum 用于统计一个数组中和为 0 的三元组数量。 public interface ThreeSum { int count(int[] nums); }算法一:ThreeSumLowThreeSumLow 算法内循环(三层循环 for) 判断if(num[i] + num[j] + num[k] = 0)语句是否成立,总共执行次数为原创 2021-03-01 13:52:36 · 515 阅读 · 0 评论