0 weixin_46747130

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 29w+

LeetCode解析---1117. H2O 生成

题目现在有两种线程,氢 oxygen 和氧 hydrogen,你的目标是组织这两种线程来产生水分子。存在一个屏障(barrier)使得每个线程必须等候直到一个完整水分子能够被产生出来。氢和氧线程会被分别给予 releaseHydrogen 和 releaseOxygen 方法来允许它们突破屏障。这些线程应该三三成组突破屏障并能立即组合产生一个水分子。你必须保证产生一个水分子所需线程的结合必须发生在下一个水分子产生之前。换句话说:如果一个氧线程到达屏障时没有氢线程到达,它必须等候直到两个氢线程

2020-06-07 13:20:15

LeetCode解析---1419. 数青蛙

题目给你一个字符串 croakOfFrogs,它表示不同青蛙发出的蛙鸣声(字符串 “croak” )的组合。由于同一时间可以有多只青蛙呱呱作响,所以 croakOfFrogs 中会混合多个 “croak” 。请你返回模拟字符串中所有蛙鸣所需不同青蛙的最少数目。注意:要想发出蛙鸣 “croak”,青蛙必须 依序 输出 ‘c’, ’r’, ’o’, ’a’, ’k’ 这 5个字母。如果没有输出全部五个字母,那么它就不会发出声音。如果字符串 croakOfFrogs 不是由若干有效的 “croak” 字

2020-06-05 13:10:37

LeetCode解析---1306. 跳跃游戏 III

题目这里有一个非负整数数组 arr,你最开始位于该数组的起始下标 start 处。当你位于下标 i 处时,你可以跳到 i + arr[i] 或者i - arr[i]。请你判断自己是否能够跳到对应元素值为 0 的 任意 下标处。注意,不管是什么情况下,你都无法跳到数组之外。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/jump-game-iii著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例 1:输入:arr

2020-06-03 22:02:29

LeetCode解析---面试题49. 丑数

题目我们把只包含因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1 是丑数。n 不超过1690。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/chou-shu-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解

2020-06-01 20:33:42

LeetCode解析---435. 无重叠区间

题目给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/non-overlapping-intervals著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出:

2020-05-30 13:20:55

LeetCode解析---347. 前 K 个高频元素

题目给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的。你可以按任意顺序返回答案

2020-05-28 12:46:31

LeetCode解析---752. 打开转盘锁

题目你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: ‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’ 。每个拨轮可以自由旋转:例如把 ‘9’ 变为 ‘0’,‘0’ 变为 ‘9’ 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 ‘0000’ ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,无法再被旋转。字符串 target 代表可以解锁的

2020-05-26 13:33:00

LeetCode解析---1094. 拼车

题目假设你是一位顺风车司机,车上最初有 capacity 个空座位可以用来载客。由于道路的限制,车 只能向一个方向行驶(也就是说,不允许掉头或改变方向,你可以将其想象为一个向量)。这儿有一份乘客行程计划表 trips[][],其中 trips[i] = [num_passengers, start_location,end_location] 包含了第 i 组乘客的行程信息:必须接送的乘客数量;乘客的上车地点;以及乘客的下车地点。这些给出的地点位置是从你的 初始 出发位置向前行驶到这些地

2020-05-24 12:59:58

LeetCode解析---442. 数组中重复的数据

题目给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-all-duplicates-in-an-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例:输入: [4,3,2,7,8,2,3,1]输出

2020-05-22 11:11:13

LeetCode解析---841. 钥匙和房间

题目有 N 个房间,开始时你位于 0 号房间。每个房间有不同的号码:0,1,2,…,N-1,并且房间里可能有一些钥匙能使你进入下一个房间。在形式上,对于每个房间 i 都有一个钥匙列表 rooms[i],每个钥匙 rooms[i][j] 由 [0,1,…,N-1]中的一个整数表示,其中 N = rooms.length。 钥匙 rooms[i][j] = v 可以打开编号为 v 的房间。最初,除 0 号房间外的其余所有房间都被锁住。你可以自由地在房间之间来回走动。如果能进入每个房间返回 true

2020-05-19 21:43:05

LeetCode解析---1375. 灯泡开关 III

题目房间中有 n 枚灯泡,编号从 1 到 n,自左向右排成一排。最初,所有的灯都是关着的。在 k 时刻( k 的取值范围是 0 到 n - 1),我们打开 light[k] 这个灯。灯的颜色要想 变成蓝色 就必须同时满足下面两个条件:灯处于打开状态。排在它之前(左侧)的所有灯也都处于打开状态。请返回能够让 所有开着的 灯都 变成蓝色 的时刻 数目 。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/bulb-switcher-ii

2020-05-18 21:42:50

LeetCode解析---213. 打家劫舍 II

题目你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [2,3,2]输出: 3解释: 你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2),因为他们是相邻的。示

2020-05-16 23:24:48

LeetCode解析---89. 格雷编码

题目格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。格雷编码序列必须以 0 开头。来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/gray-code著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。示例 1:输入: 2输出: [0,1,3,2]解释: 00 - 001 - 111

2020-05-14 12:44:57

LeetCode解析---面试题51. 数组中的逆序对

题目在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5分析:我们这里用归并排序算法,有的「逆序对」来源于 3 个部分: 左边区间的逆序对;右边区间的逆序对;横跨两个区间的逆序对。public class Solution { public int reversePairs(int[] nums) { int len = nums.len

2020-05-12 12:57:47

LeetCode解析---739. 每日温度

题目根据每日 气温 列表,请重新生成一个列表,对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。举例给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。解析我们先从计算右边,那么我们计算过的位置就不需要重复计算public int[] dailyTemperatures(int[] T) { int le

2020-05-10 11:39:06

LeetCode解析---514. 自由之路

题目视频游戏“辐射4”中,任务“通向自由”要求玩家到达名为“Freedom Trail Ring”的金属表盘,并使用表盘拼写特定关键词才能开门。给定一个字符串 ring,表示刻在外环上的编码;给定另一个字符串key,表示需要拼写的关键词。您需要算出能够拼写关键词中所有字符的最少步数。最初,ring 的第一个字符与12:00方向对齐。您需要顺时针或逆时针旋转 ring 以使 key 的一个字符在 12:00方向对齐,然后按下中心按钮,以此逐个拼写完 key 中的所有字符。旋转 ring 拼出 k

2020-05-08 22:09:04

LeetCode解析---162. 寻找峰值

题目:峰值元素是指其值大于左右相邻值的元素。给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是峰值元素,你的函数应该返回其索引 ...

2020-05-06 18:59:12

LeetCode解析---152. 乘积最大子数组

题目给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0 解释:结果不能为 2, 因为 [-2,-1] 不是子数组。来源:力扣(LeetCode)链接:https://leetcode-...

2020-05-04 09:53:50

LeetCode解析---151. 翻转字符串里的单词

题目给定一个字符串,逐个翻转字符串中的每个单词。说明:无空格字符构成一个单词。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。示例 1:输入: “the sky is blue”输出: “blue is sky the”示例 2:输入: " hello world! "输...

2020-05-02 10:41:55

LeetCode解析---150. 逆波兰表达式求值

题目根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/evaluate-reverse...

2020-04-30 21:11:48

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。