自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zjwreal

Github:https://github.com/zhengjingwei

  • 博客(410)
  • 收藏
  • 关注

原创 【leetcode】345 反转字符串中的元音字母(字符串,双指针)

题目链接:https://leetcode-cn.com/problems/reverse-vowels-of-a-string/题目描述编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: "hello"输出: "holle"示例 2:输入: "leetcode"输出: "leotcede"说明:元音字母不包含字母"y"。代码class Solu...

2019-12-08 12:54:17 75

原创 【leetcode】301 删除无效的括号(回溯)

题目链接:https://leetcode-cn.com/problems/remove-invalid-parentheses/题目描述删除最小数量的无效括号,使得输入的字符串有效,返回所有可能的结果。说明: 输入可能包含了除 ( 和 ) 以外的字符。示例 1:输入: "()())()"输出: ["()()()", "(())()"]示例 2:输入: "(a)())()"输出...

2019-11-03 12:57:41 267

原创 【leetcode】191 位1的个数(位运算)

题目链接:题目描述编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000...

2019-11-03 12:11:32 231

原创 【leetcode】945 使数组唯一的最小增量(数组)

题目链接:题目描述给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1。返回使 A 中的每个值都是唯一的最少操作次数。示例 1:输入:[1,2,2]输出:1解释:经过一次 move 操作,数组将变为 [1, 2, 3]。示例 2:输入:[3,2,1,2,1,7]输出:6解释:经过 6 次 move 操作,数组将变为 [3, 4, 1, 2, 5, 7...

2019-11-03 12:09:59 102

原创 【leetcode】673 最长递增子序列的个数(动态规划)

题目链接:https://leetcode-cn.com/problems/number-of-longest-increasing-subsequence/题目描述给定一个未排序的整数数组,找到最长递增子序列的个数。示例 1:输入: [1,3,5,4,7]输出: 2解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。示例 2:输入: [2...

2019-11-03 12:08:36 243

原创 【leetcode】1004 最大连续1的个数III(滑动窗口,双指针)

题目链接:https://leetcode-cn.com/problems/max-consecutive-ones-iii/题目描述给定一个由若干 0 和 1 组成的数组 A,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。示例 1:输入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释:[1,1,1,0,0...

2019-10-24 21:49:02 127

原创 【leetcode】487 最大连续1的个数II(滑动窗口,双指针)

题目链接:https://leetcode-cn.com/problems/max-consecutive-ones-ii/题目描述给定一个二进制数组,你可以最多将 1 个 0 翻转为 1,找出其中最大连续 1 的个数。示例 1:输入:[1,0,1,1,0]输出:4解释:翻转第一个 0 可以得到最长的连续 1。 当翻转以后,最大连续 1 的个数为 4。注:输入数组只包...

2019-10-24 21:40:35 311

原创 【leetcode】485 最大连续1的个数(数组)

题目链接:https://leetcode-cn.com/problems/max-consecutive-ones/题目描述给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含 0 和1。输入数组的长度是正整数,且不超过 10,000...

2019-10-24 21:31:34 80

原创 【leetcode】424 替换后的最长重复字符(滑动窗口,双指针)

题目链接:https://leetcode-cn.com/problems/longest-repeating-character-replacement/题目描述给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。注意:字符串长度 和 k 不会超过 10410^4104。示例 1:...

2019-10-24 20:52:44 197

原创 【leetcode】992 K个不同整数的子数组(滑动窗口,双指针)

题目链接:https://leetcode-cn.com/problems/subarrays-with-k-different-integers/题目描述给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。(例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2,以及 3。)返回 A 中好子数组的数目。示例...

2019-10-24 20:06:01 221

原创 【leetcode】159 至多包含两个不同字符的最长子串(滑动窗口,双指针)

题目链接:https://leetcode-cn.com/problems/longest-substring-with-at-most-two-distinct-characters/题目描述给定一个字符串 s ,找出 至多 包含两个不同字符的最长子串 t 。示例 1:输入: "eceba"输出: 3解释: t 是 "ece",长度为3。示例 2:输入: "ccaabbb"输...

2019-10-24 19:29:01 1286

原创 【leetcode】1207 独一无二的出现次数(哈希表)

题目链接:https://leetcode-cn.com/problems/unique-number-of-occurrences/题目描述给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,...

2019-10-24 19:05:25 44

原创 【leetcode】547 朋友圈(图,DFS,BFS,并查集)

题目链接:https://leetcode-cn.com/problems/friend-circles/题目描述班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j]...

2019-10-24 18:16:36 278

原创 【leetcode】468 验证IP地址(字符串)

题目链接:https://leetcode-cn.com/problems/validate-ip-address/题目描述编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1;同时,IPv4 地址内的数不会以 0 开头。比如,地址...

2019-10-14 21:08:51 66

原创 【leetcode】551 学生出勤记录I

题目描述给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:‘A’ : Absent,缺勤‘L’ : Late,迟到‘P’ : Present,到场如果一个学生的出勤记录中不超过一个’A’(缺勤)并且不超过两个连续的’L’(迟到),那么这个学生会被奖赏。你需要根据这个学生的出勤记录判断他是否会被奖赏。示例 1:输入: "PPALLP"输出: True示例 ...

2019-10-10 10:31:26 33

原创 【leetcode】71 简化路径(栈)

题目链接:https://leetcode-cn.com/problems/simplify-path/题目描述以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / ...

2019-10-09 22:26:09 34

原创 【leetcode】504 七进制数

题目链接:https://leetcode-cn.com/problems/base-7/题目描述给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意: 输入范围是 [-1e7, 1e7] 。思路class Solution {public: string convertToB...

2019-10-09 22:06:08 32

原创 【leetcode】303 区域和检索 - 数组不可变(前缀和)

题目链接:https://leetcode-cn.com/problems/range-sum-query-immutable/题目描述给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。示例:给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange()sumRange(0, 2) -...

2019-10-09 21:51:30 48

原创 【leetcode】340 至多包含 K 个不同字符的最长子串(滑动窗口,双指针)

题目链接:https://leetcode-cn.com/problems/longest-substring-with-at-most-k-distinct-characters/题目描述给定一个字符串 s ,找出 至多 包含 k 个不同字符的最长子串 T。示例 1:输入: s = "eceba", k = 2输出: 3解释: 则 T 为 "ece",所以长度为 3。示例 2:...

2019-10-04 14:21:45 1577

原创 【leetcode】253 会议室II(堆)

题目链接:https://leetcode-cn.com/problems/meeting-rooms-ii/题目描述给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei),为避免会议冲突,同时要考虑充分利用会议室资源,请你计算至少需要多少间会议室,才能满足这些会议安排。示例 1:输入: [[0, 30],[5...

2019-10-04 13:18:13 1197

原创 【leetcode】252 会议室(数组)

题目链接:https://leetcode-cn.com/problems/meeting-rooms/题目描述给定一个会议时间安排的数组,每个会议时间都会包括开始和结束的时间 [[s1,e1],[s2,e2],...] (si < ei),请你判断一个人是否能够参加这里面的全部会议。示例 1:输入: [[0,30],[5,10],[15,20]]输出: false示例 2:...

2019-10-04 11:55:38 787

原创 【leetcode】266 回文排列(字符串)

题目链接:https://leetcode-cn.com/problems/palindrome-permutation/题目描述给定一个字符串,判断该字符串中是否可以通过重新排列组合,形成一个回文字符串。示例 1:输入: "code"输出: false示例 2:输入: "aab"输出: true示例 3:输入: "carerac"输出: true思路// 只有1个...

2019-09-29 12:09:52 626

原创 【leetcode】58 最后一个单词的长度(字符串)

题目链接:https://leetcode-cn.com/problems/length-of-last-word/题目描述给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5思路class Solution {...

2019-09-29 11:50:00 50

原创 【leetcode】448 找到所有数组中消失的数字(数组)

题目链接:https://leetcode-cn.com/problems/find-all-numbers-disappeared-in-an-array/题目描述给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(...

2019-09-28 21:18:42 59

原创 【leetcode】1087 字母切换(回溯)

题目链接:https://leetcode-cn.com/problems/brace-expansion/题目描述我们用一个特殊的字符串 S 来表示一份单词列表,之所以能展开成为一个列表,是因为这个字符串 S 中存在一个叫做「选项」的概念:单词中的每个字母可能只有一个选项或存在多个备选项。如果只有一个选项,那么该字母按原样表示。如果存在多个选项,就会以花括号包裹来表示这些选项(使它们与其...

2019-09-27 17:00:02 229

原创 【leetcode】394 字符串解码(字符串、栈、递归)

题目链接:https://leetcode-cn.com/problems/decode-string/题目描述给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要...

2019-09-27 15:35:43 291

原创 【leetcode】207 课程表(拓扑排序)

题目链接:https://leetcode-cn.com/problems/course-schedule/题目描述现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1...

2019-09-26 22:15:36 75

原创 【leetcode】5 最长回文子串(双指针、动态规划)

题目链接:https://leetcode-cn.com/problems/longest-palindromic-substring/题目描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"思路1 ...

2019-09-26 20:26:46 225

原创 【leetcode】1012 至少有1位重复的数字(排列组合)

题目链接:https://leetcode-cn.com/problems/numbers-with-repeated-digits/题目描述给定正整数 N,返回小于等于 N 且具有至少 1 位重复数字的正整数。示例 1:输入:20输出:1解释:具有至少 1 位重复数字的正数(<= 20)只有 11 。示例 2:输入:100输出:10解释:具有至少 1 位重复数字的正数...

2019-09-16 22:18:26 177

原创 【leetcode】259 较小的三数之和(数组,双指针)

题目链接:题目描述给定一个长度为 n 的整数数组和一个目标值 target,寻找能够使条件 nums[i] + nums[j] + nums[k] < target 成立的三元组 i, j, k 个数(0 <= i < j < k < n)。示例:输入: nums = [-2,0,1,3], target = 2输出: 2 解释: 因为一共有两个三元组满...

2019-09-16 10:55:46 318

原创 【leetcode】486 预测赢家(动态规划)

题目链接:https://leetcode-cn.com/problems/predict-the-winner/题目描述给定一个表示分数的非负整数数组。 玩家1从数组任意一端拿取一个分数,随后玩家2继续从剩余数组任意一端拿取分数,然后玩家1拿,……。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,...

2019-09-15 19:07:51 166

原创 【leetcode】539 最小时间差(字符串)

题目链接:https://leetcode-cn.com/problems/minimum-time-difference/题目描述给定一个 24 小时制(小时:分钟)的时间列表,找出列表中任意两个时间的最小时间差并已分钟数表示。示例 1:输入: ["23:59","00:00"]输出: 1备注:列表中时间数在 2~20000 之间。每个时间取值在 00:00~23:59 之间...

2019-09-12 20:39:27 174

原创 【leetcode】115 不同的子序列(动态规划)

题目链接:https://leetcode-cn.com/problems/distinct-subsequences/题目描述给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)示例 1...

2019-09-12 20:12:02 43

原创 【leetcode】260 只出现一次的数字III(位运算)

题目链接:https://leetcode-cn.com/problems/single-number-iii/题目描述给定一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。示例 :输入: [1,2,1,3,2,5]输出: [3,5]注意:结果输出的顺序并不重要,对于上面的例子, [5, 3] 也是正确答案。你的算法应该具...

2019-09-12 17:29:10 45

原创 【leetcode】137 只出现一次的数字II(位运算)

题目链接:https://leetcode-cn.com/problems/single-number-ii/题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,3,2]输出: 3示例 2:输入: [0,1,0,1,0,1...

2019-09-12 16:53:30 59

原创 【leetcode】1167 连接棒材的最低费用(贪心,哈夫曼编码)

题目链接:https://leetcode-cn.com/problems/minimum-cost-to-connect-sticks/题目描述为了装修新房,你需要加工一些长度为正整数的棒材 sticks。如果要将长度分别为 X 和 Y 的两根棒材连接在一起,你需要支付 X + Y 的费用。 由于施工需要,你必须将所有棒材连接成一根。返回你把所有棒材 sticks 连成一根所需要的最低费...

2019-09-12 14:04:00 793

原创 【leetcode】862 和至少为K的最短子数组(前缀和数组,单调)

题目链接:https://leetcode-cn.com/problems/shortest-subarray-with-sum-at-least-k/题目描述返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。如果没有和至少为 K 的非空子数组,返回 -1 。示例 1:输入:A = [1], K = 1输出:1示例 2:输入:A = [1,2], K = 4输出...

2019-09-12 13:32:53 180

原创 【leetcode】628 三个数的最大乘积(动态规划)

题目链接:https://leetcode-cn.com/problems/maximum-product-of-three-numbers/题目描述给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范...

2019-09-12 12:07:16 237

原创 【leetcode】546 移除盒子(动态规划)

题目链接:https://leetcode-cn.com/problems/remove-boxes/题目描述给出一些不同颜色的盒子,盒子的颜色由数字表示,即不同的数字表示不同的颜色。你将经过若干轮操作去去掉盒子,直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 k 个盒子(k >= 1),这样一轮之后你将得到 k*k 个积分。当你将所有盒子都去掉之后,求你能获得的最大积...

2019-09-12 11:38:18 169

原创 【leetcode】903 DI序列的有效排列(动态规划)

题目链接:https://leetcode-cn.com/problems/valid-permutations-for-di-sequence/题目描述我们给出 S,一个源于 {'D', 'I'} 的长度为 n 的字符串 。(这些字母代表 “减少” 和 “增加”。)有效排列 是对整数 {0, 1, ..., n} 的一个排列 P[0], P[1], ..., P[n],使得对所有的 i:...

2019-09-12 11:36:35 1666

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除