
LeetCode
ccmedu
这个作者很懒,什么都没留下…
展开
-
1237. 找出给定方程的正整数解
给出一个函数f(x, y)和一个目标结果z,请你计算方程f(x,y) == z所有可能的正整数 数对x 和 y。给定函数是严格单调的,也就是说:f(x, y) < f(x + 1, y)f(x, y) < f(x, y + 1)函数接口定义如下:interface CustomFunction {public:// Returns posit...转载 2020-01-10 19:45:38 · 263 阅读 · 0 评论 -
575. 分糖果
给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。 最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最...转载 2020-01-03 19:36:32 · 194 阅读 · 0 评论 -
543. 二叉树的直径
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回3, 它的长度是路径 [4,2,1,3] 或者[5,2,1,3]。注意:两结点之间的路径长度是以它们...转载 2019-12-27 20:32:07 · 134 阅读 · 0 评论 -
938. 二叉搜索树的范围和
给定二叉搜索树的根结点root,返回 L 和 R(含)之间的所有结点的值的和。二叉搜索树保证具有唯一的值。示例 1:输入:root = [10,5,15,3,7,null,18], L = 7, R = 15输出:32示例2:输入:root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10输出:23提示:树中的结...转载 2019-12-06 21:29:55 · 144 阅读 · 0 评论 -
539. 最小时间差private int parse(String str) { String[] times = str.split(":"); String ho
给定一个 24 小时制(小时:分钟)的时间列表,找出列表中任意两个时间的最小时间差并已分钟数表示。示例 1:输入: ["23:59","00:00"]输出: 1备注:列表中时间数在 2~20000 之间。每个时间取值在 00:00~23:59 之间。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-ti...转载 2019-11-29 18:54:23 · 152 阅读 · 0 评论 -
1033. 移动石子直到连续
三枚石子放置在数轴上,位置分别为 a,b,c。每一回合,我们假设这三枚石子当前分别位于位置 x, y, z 且 x < y < z。从位置 x 或者是位置 z 拿起一枚石子,并将该石子移动到某一整数位置 k 处,其中 x < k < z 且 k != y。当你无法进行任何移动时,即,这些石子的位置连续时,游戏结束。要使游戏结束,你可以执行的最小和最大移动次数分别...转载 2019-11-22 19:14:42 · 131 阅读 · 0 评论 -
599. 两个列表的最小索引总和
假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。示例 1:输入:["Shogun", "Tapioca Express", "Burger King", "KFC"]["Piatt...转载 2019-11-15 21:11:33 · 135 阅读 · 0 评论 -
供暖器
冬季已经来临。你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖。现在,给出位于一条水平线上的房屋和供暖器的位置,找到可以覆盖所有房屋的最小加热半径。所以,你的输入将会是房屋和供暖器的位置。你将输出供暖器的最小加热半径。说明:给出的房屋和供暖器的数目是非负数且不会超过 25000。给出的房屋和供暖器的位置均是非负数且不会超过10^9。只要房屋位于供暖器的半径内(包括在边缘...转载 2019-11-08 18:53:12 · 188 阅读 · 0 评论 -
491. 递增子序列
给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。示例:输入: [4, 6, 7, 7]输出: [[4, 6], [4, 7], [4, 6, 7], [4, 6, 7, 7], [6, 7], [6, 7, 7], [7,7], [4,7,7]]说明:给定数组的长度不会超过15。数组中的整数范围是[-100,100]。给定数组中可能包含重复...转载 2019-11-01 23:16:04 · 272 阅读 · 0 评论 -
232. 用栈实现队列
使用栈实现队列的下列操作:push(x) -- 将一个元素放入队列的尾部。pop() -- 从队列首部移除元素。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); // 返回 1queue....转载 2019-10-25 19:27:47 · 141 阅读 · 0 评论 -
1009. 十进制整数的反码
每个非负整数N都有其二进制表示。例如,5可以被表示为二进制"101",11 可以用二进制"1011"表示,依此类推。注意,除N = 0外,任何二进制表示中都不含前导零。二进制的反码表示是将每个1改为0且每个0变为1。例如,二进制数"101"的二进制反码为"010"。给定十进制数N,返回其二进制表示的反码所对应的十进制整数。来源:力扣(LeetCo...转载 2019-10-18 23:46:48 · 213 阅读 · 0 评论 -
在 D 天内送达包裹的能力
传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i个包裹的重量为weights[i]。每一天,我们都会按给出重量的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在 D 天内将传送带上的所有包裹送达的船的最低运载能力。示例 1:输入:weights = [1,2,3,4,5,6,7,8,9,10], D = 5输出:1...转载 2019-10-13 00:56:02 · 187 阅读 · 0 评论 -
给定一个含有数字和运算符的字符串,为表达式添加括号
给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +,-以及*。示例1:输入: "2-1-1"输出: [0, 2]解释:((2-1)-1) = 0(2-(1-1)) = 2示例2:输入: "2*3-4*5"输出: [-34, -14, -10, -10, 10]解...转载 2019-10-06 23:58:50 · 2479 阅读 · 0 评论 -
给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。
给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。示例1:输入: dividend = 10, divisor = 3输出: 3示例2:输入: dividend = 7, divisor = -3输出: -2说明:被除数和除数均为 3...转载 2019-10-06 23:24:35 · 4048 阅读 · 0 评论 -
给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。
给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。如果不能形成任何面积不为零的三角形,返回0。示例 1:输入:[2,1,2]输出:5示例 2:输入:[1,2,1]输出:0示例 3:输入:[3,2,3,4]输出:10示例 4:输入:[3,6,2,3]输出:8提示:3 <= A.length...转载 2019-09-27 20:30:40 · 3735 阅读 · 0 评论 -
输入:name = "alex", typed = "aaleex"
你的朋友正在使用键盘输入他的名字name。偶尔,在键入字符c时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回True。示例 1:输入:name = "alex", typed = "aaleex"输出:true解释:'alex...转载 2019-09-22 00:56:24 · 351 阅读 · 0 评论 -
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。
自己整理的不算转载给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例1:方法一:取数组第一个元素,去循环重复一个就计数为1,没遇到一样的就减一,直到为零换下一个元素去数组碰,剩下的一定是最多的那个class Solution { public sta...转载 2019-03-20 16:59:05 · 2905 阅读 · 4 评论 -
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
自己整理的不算转载给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:答案:class Solution { public static int singleNumber(int[] nums) { int a = 0...转载 2019-03-20 18:01:36 · 898 阅读 · 0 评论 -
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:示例 2:示例 3:注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231, 231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 public static int reverse(int x) { S...转载 2019-03-22 18:39:58 · 3380 阅读 · 0 评论 -
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。自己整理的,文字自配,不算原创也不是转载。class Solution { public static boolean isPalindrome(int x) { if(x<0 || (x!=0 && x%10 == 0)) { r...转载 2019-04-15 16:47:34 · 3718 阅读 · 0 评论 -
给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。
自己整理的对于非负整数X而言,X的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果X = 1231,那么其数组形式为[1,2,3,1]。给定非负整数 X 的数组形式A,返回整数X+K的数组形式。示例 1:输入:A = [1,2,0,0], K = 34输出:[1,2,3,4]解释:1200 + 34 = 1234来源:力扣(LeetCode)...原创 2019-07-29 00:19:05 · 463 阅读 · 0 评论 -
给定只含 "I"(增大)或 "D"(减小)的字符串 S ,令 N = S.length。
给定只含"I"(增大)或 "D"(减小)的字符串S,令N = S.length。返回[0, 1, ..., N]的任意排列A使得对于所有i = 0,..., N-1,都有:如果S[i] == "I",那么A[i] < A[i+1]如果S[i] == "D",那么A[i] > A[i+1]示例 1:输出:"IDID"输出:[0,4,1,...原创 2019-08-03 00:30:43 · 444 阅读 · 0 评论 -
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
自己整理的学会了不算是原创给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 ...原创 2019-08-09 23:16:46 · 16647 阅读 · 6 评论 -
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。
力扣大佬题解,看着不错 Mark一下给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输...原创 2019-08-24 00:37:30 · 2583 阅读 · 0 评论 -
给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。
mark一下学习笔记public static void main(String args[]) { String pattern = "bbba"; String str = "dog cat cat fish"; boolean max = wordPattern(pattern, str); System.out.println(max);}/**...原创 2019-08-17 00:35:38 · 3362 阅读 · 0 评论 -
给定字符串 s 和 t ,判断 s 是否为 t 的子序列。
给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:s...原创 2019-08-30 23:54:26 · 5889 阅读 · 0 评论 -
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。来源:力扣(LeetCode)...转载 2019-09-07 00:35:00 · 5810 阅读 · 1 评论 -
给定两个数组,编写一个函数来计算它们的交集。
给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。我们可以不考虑输出结果的顺序。来源:力扣(LeetCode)链接:https:/...转载 2019-09-12 20:54:53 · 3238 阅读 · 0 评论 -
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
自己整理的不算转载给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:答案:class Solution { public static int[] twoSum(int[] nums, int ta...转载 2019-03-20 16:44:00 · 40589 阅读 · 10 评论