- 博客(8)
- 收藏
- 关注
原创 LeetCode-278. 第一个错误的版本
278. 第一个错误的版本 难度简单 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。
2021-06-13 17:05:06 81
原创 LeetCode-540. 有序数组中的单一元素
540. 有序数组中的单一元素 难度中等 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 2: 输入: [3,3,7,7,10,11,11] 输出: 10 注意: 您的方案应该在 O(log n)时间复杂度和 O(1)空间复杂度中运行。 思路:单一元素之前的数的下标偶奇交替,单一元素之后的数的下标奇偶交替,单一元素的出现使得数组状态发生变化 public int singleN
2021-06-13 16:46:54 89
原创 LeetCode-744. 寻找比目标字母大的最小字母
744. 寻找比目标字母大的最小字母 难度简单 给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。 在比较时,字母是依序循环出现的。举个例子: 如果目标字母 target = 'z' 并且字符列表为 letters = ['a', 'b'],则答案返回 'a' public char nextGreatestLetter(char[] letters, char target) {
2021-06-13 16:09:46 88
原创 LeetCode-763. 划分字母区间
763. 划分字母区间 难度中等 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 示例: 输入:S = "ababcbacadefegdehijhklij" 输出:[9,7,8] 解释: 划分结果为 "ababcbaca", "defegde", "hijhklij"。 每个字母最多出现在一个片段中。 像 "ababcbacadefegde", "hijhklij" 的划分是错误的,因为划分的片段数较少。 记录最远
2021-06-08 18:18:26 91
原创 LeetCode-53. 最大子序和
53. 最大子序和 难度简单3276 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 经典动态规划问题(理解「无后效性」 class Solution { public int maxSubArray(int[] nums) { int[] dp = new int[nums.
2021-06-03 23:33:31 68
原创 LeetCode-665. 非递减数列
665. 非递减数列 难度简单588收藏分享切换为英文接收动态反馈 给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。 我们是这样定义一个非递减数列的: 对于数组中任意的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。 示例 1: 输入: nums = [4,2,3] 输出: true 解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。 示例 2: 输入: nums = [4,
2021-06-03 23:04:18 83
原创 LeetCode-392. 判断子序列
392. 判断子序列 难度简单 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 public boolean isSubsequence(String s, String t) { int i = 0; int j = 0; while (i < s.length()
2021-06-03 22:23:21 57
原创 LeetCode-605. 种花问题
605. 种花问题 难度简单354收藏分享切换为英文接收动态反馈 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 表示没种植花,1 表示种植了花。另有一个数 n ,能否在不打破种植规则的情况下种入 n 朵花?能则返回 true ,不能则返回 false。 示例 1: 输入:flowerbed = [1,0,0,0,1], n = 1 输出:true
2021-05-23 19:16:30 93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人