摘要:
老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。相邻的孩子中,评分高的孩子必须获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢? 示例 1: 输入: [1,0 阅读全文
posted @ 2019-07-08 23:30
YF-1994
阅读(99)
评论(0)
推荐(0)
摘要:
给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 示例 1: 输入: [1,3,4,2,2]输出: 2示例 2: 输入: [3,1,3,4,2]输出: 3说明: 不能更改原数组( 阅读全文
posted @ 2019-07-08 23:21
YF-1994
阅读(133)
评论(0)
推荐(0)
摘要:
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bool 阅读全文
posted @ 2019-07-08 23:10
YF-1994
阅读(263)
评论(0)
推荐(0)
摘要:
假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 你可以假设数组中不存在重复元素。 示例 1: 输入: [3,4,5,1,2]输出: 1示例 2: 输入: [4,5,6,7, 阅读全文
posted @ 2019-07-08 22:57
YF-1994
阅读(124)
评论(0)
推荐(0)
摘要:
编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1: 输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]] 阅读全文
posted @ 2019-07-08 22:54
YF-1994
阅读(174)
评论(0)
推荐(0)
摘要:
给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 阅读全文
posted @ 2019-07-08 22:44
YF-1994
阅读(171)
评论(0)
推荐(0)
摘要:
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5输出: 2示例 2: 输入: [1,3,5,6], 2输出: 1示例 3: 输入: [1,3,5,6], 阅读全文
posted @ 2019-07-08 22:37
YF-1994
阅读(242)
评论(0)
推荐(0)
摘要:
题目描述请实现 int sqrt(int x)。 请计算并返回 xx 的正平方根,保证 xx 是一个非负整数。注意返回类型是整数,所以我们只返回正平方根的整数部分。 样例1输入:4输出:2样例2输入:8输出:2解释:8的正平方根是 2.82842...,它的整数部分是2. 算法:二分 直接套模板二分 阅读全文
posted @ 2019-07-08 22:34
YF-1994
阅读(202)
评论(0)
推荐(0)
摘要:
有n堆石头,现在请将它们分成两堆,并要求两堆的重量和尽可能接近,输出两堆石头的重量和,结果按降序排列。 算法:动态规划 阅读全文
posted @ 2019-07-08 22:28
YF-1994
阅读(343)
评论(0)
推荐(0)
摘要:
给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。 示例: nums = [1, 2, 3]target = 4 所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1) 请注意,顺序不同的序列 阅读全文
posted @ 2019-07-08 22:21
YF-1994
阅读(174)
评论(0)
推荐(0)
摘要:
出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。解集不能包含重复的组合。 示例 1: 输入: k = 3, n = 7输出: [[1,2,4]]示例 2: 输入: k = 3, n = 9输出: [[1, 阅读全文
posted @ 2019-07-08 22:20
YF-1994
阅读(134)
评论(0)
推荐(0)
摘要:
给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用一次。 说明: 所有数字(包括目标数)都是正整数。解集不能包含重复的组合。 示例 1: 输入: candi 阅读全文
posted @ 2019-07-08 22:17
YF-1994
阅读(221)
评论(0)
推荐(0)
摘要:
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。解集不能包含重复的组合。 示例 1: 输入: 阅读全文
posted @ 2019-07-08 22:16
YF-1994
阅读(210)
评论(0)
推荐(0)
摘要:
给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],] 算法:基础的dfs题目。我们在枚举的时候可以考虑选和不选两种情况即可。 阅读全文
posted @ 2019-07-08 21:46
YF-1994
阅读(195)
评论(0)
推荐(0)
摘要:
给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意: num 的长度小于 10002 且 ≥ k。 num 不会包含任何前导零。示例 1 :输入: num = "1432219", k = 3输出: "1219"解释: 移除掉三个数字 4, 3, 和 2 形 阅读全文
posted @ 2019-07-08 20:45
YF-1994
阅读(280)
评论(0)
推荐(0)
摘要:
Supervin有一个独特的计算器。 此计算器由一个显示器,一个加号按钮和一个减号按钮构成。 目前,计算器显示器上显示整数 N。 按加号按钮可将计算器显示屏上显示的当前数字增加1。 同理,按减号按钮可将计算器显示屏上显示的当前数字减1。 计算器不显示任何前导零。 例如,如果计算器显示屏上显示100, 阅读全文
posted @ 2019-07-08 20:11
YF-1994
阅读(579)
评论(0)
推荐(0)
摘要:
二分模板有两种,看情况用,主要的区分情况在于check的逻辑性以及mid在左半区间还是右半区间的划分 阅读全文
posted @ 2019-07-08 20:04
YF-1994
阅读(97)
评论(0)
推荐(0)
摘要:
输入n个整数,找出其中最小的k个数。 注意: 数据保证k一定小于等于输入数组的长度; 输出数组内元素请按从小到大顺序排序; 样例 输入:[1,2,3,4,5,6,7,8] , k=4 输出:[1,2,3,4]算法:堆(priority_queue)。我们维护一个堆,每次不断将数组中的元素加入进来(当 阅读全文
posted @ 2019-07-08 19:54
YF-1994
阅读(140)
评论(0)
推荐(0)
摘要:
给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。示例:输入:[ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1","0", 阅读全文
posted @ 2019-07-08 19:44
YF-1994
阅读(235)
评论(0)
推荐(0)
摘要:
给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。 示例: 阅读全文
posted @ 2019-07-08 19:38
YF-1994
阅读(1126)
评论(0)
推荐(0)
摘要:
题目描述: 有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被 阅读全文
posted @ 2019-07-08 19:33
YF-1994
阅读(132)
评论(0)
推荐(0)
摘要:
题目描述:清一色是麻将番种之一,指由一种花色的序数牌组成的和牌.数字1-9,每个数字最多有4张牌我们不考虑具体花色,我们只看数字组合。刻子:三张一样的牌;如: 111, 222, 333, …, 999顺子:三张连续的牌;如: 123, 234, 345, …, 789对子:两张相同的牌;如: 11 阅读全文
posted @ 2019-07-08 19:17
YF-1994
阅读(2260)
评论(0)
推荐(0)
摘要:
题目描述 定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表 阅读全文
posted @ 2019-07-08 18:55
YF-1994
阅读(611)
评论(0)
推荐(0)
摘要:
给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[ ['A','B','C','E'], ['S','F','C','S'], [ 阅读全文
posted @ 2019-07-08 18:16
YF-1994
阅读(145)
评论(0)
推荐(0)
摘要:
输入一个长度为n的整数序列。 接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。 请你输出进行完所有操作后的序列。 输入格式 第一行包含两个整数n和m。 第二行包含n个整数,表示整数序列。 接下来m行,每行包含三个整数l,r,c,表示一个操作。 输出 阅读全文
posted @ 2019-07-08 18:11
YF-1994
阅读(437)
评论(0)
推荐(0)
摘要:
给定一个由若干 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,1,1,1,1,1,1]粗体数字从 0 翻转 阅读全文
posted @ 2019-07-08 18:01
YF-1994
阅读(1561)
评论(0)
推荐(0)
摘要:
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。算法:动态规划。设f[i]表示以第i个元素结尾时最大子序和。 那么 阅读全文
posted @ 2019-07-08 17:52
YF-1994
阅读(99)
评论(0)
推荐(0)
摘要:
给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。示例 1:输入: nums = [ [9,9,4], [6,6,8], [2,1,1]] 输出: 4 解释: 最长递增路径为 [1, 2, 6, 9 阅读全文
posted @ 2019-07-08 17:34
YF-1994
阅读(695)
评论(0)
推荐(0)
摘要:
给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"说明: 如果 S 中不存这样的子串,则返回空字符串 ""。 如果 S 中存在这样的子串,我们保证它是唯一的答案。算 阅读全文
posted @ 2019-07-08 17:20
YF-1994
阅读(158)
评论(0)
推荐(0)
摘要:
给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为 O(n2) 阅读全文
posted @ 2019-07-08 17:06
YF-1994
阅读(147)
评论(0)
推荐(0)
摘要:
给定一个长度为n的整数序列,请找出最长的不包含重复数字的连续子序列,输出它的长度。 输入格式 第一行包含整数n。 第二行包含n个整数(均在0~100000范围内),表示整数序列。 输出格式 共一行,包含一个整数,表示最长的不包含重复数字的连续子序列的长度。 数据范围 1≤n≤100000 输入样例: 阅读全文
posted @ 2019-07-08 16:58
YF-1994
阅读(2284)
评论(0)
推荐(0)
摘要:
给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度。 注意这里是找连续子串。 算法:动态规划。f[i][j]表示第一个字符串前i个字符中与第二个字符串前j个中的最长连续子串长度 那么状态转移为:当s1(i)==s2(j)时,f[i][j]=max(f[i][j],f[i-1][j 阅读全文
posted @ 2019-07-08 16:50
YF-1994
阅读(1351)
评论(0)
推荐(0)
摘要:
请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字 阅读全文
posted @ 2019-07-08 09:17
YF-1994
阅读(135)
评论(0)
推荐(0)
摘要:
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"算法:暴力枚举(分回文串的长度为奇数还是偶数,滚动求最长值) 阅读全文
posted @ 2019-07-08 09:13
YF-1994
阅读(111)
评论(0)
推荐(0)

浙公网安备 33010602011771号