lintcode
Coco-Zhang
CS@SJTU
展开
-
[lintcode] 18. Subsets [Medium]
描述Given a collection of integers that might contain duplicates, nums, return all possible subsets (the power set). 样例Input: [1,2,2]Output:[ [2], [1], [1,2,2], [2,2], [1,2], []...原创 2018-07-25 00:52:54 · 76 阅读 · 0 评论 -
[lintcode] 56.两数之和
描述给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。 样例给出 numbers = [2, 7, 11, 15], target = 9, 返回 [0, 1].挑战Either of the following solution...原创 2019-01-27 19:37:32 · 147 阅读 · 0 评论 -
[lintcode] 1095.最大的交换
描述给定一个非负整数,你可以交换两个数位至多一次来获得最大的合法的数。返回最大的合法的你能够获得的数。给定的数字在 [0, 10^8] 内。样例样例1:输入: 2736输出: 7236解释: 交换数字2和数字7.样例2:输入: 9973输出: 9973解释: 不用交换.解题思路解题的时候举了几个例子考虑这道题的搜索域。暴力搜索肯定是O(n^2)复杂...原创 2019-01-27 16:30:47 · 242 阅读 · 0 评论 -
[lintcode] 45.最大子数组差 [Medium]
描述给定一个整数数组,找出两个不重叠的子数组A和B,使两个子数组和的差的绝对值|SUM(A) - SUM(B)|最大。返回这个最大的差值。 样例给出数组[1, 2, -3, 1],返回 6挑战时间复杂度为O(n),空间复杂度为O(n)解题思路很久没刷题了,周末没事干,上lintcode刷刷题。这道题第一眼大家应该都有一个思路,就是找左右的最大子数组然后相减。...原创 2019-01-26 21:42:15 · 340 阅读 · 0 评论 -
[lintcode] 75.寻找峰值 [Medium]
描述你给出一个整数数组(size为n),其具有以下特点:相邻位置的数字是不同的 A[0] < A[1] 并且 A[n - 2] > A[n - 1]假定P是峰值的位置则满足A[P] > A[P-1]且A[P] > A[P+1],返回数组中任意一个峰值的位置。 样例给出数组[1, 2, 1, 3, 4, 5, 7, 6]返回1, 即数值 2 所在...原创 2018-10-27 18:10:26 · 150 阅读 · 0 评论 -
[lintcode] 1442.订单问题 [Medium]
描述现在有一个订单,对n 种商品有需求,对第 i 种商品的需求为 order[i] 个。工厂有 m 种生产模式,每种生产模式形如 [p[1],p[2],...p[n]],即同时生产第 1 种商品 p[1] 个,第 2 种商品 p[2] 个……你可以使用多种生产模式,请问在不超过任意一种商品的需求的情况下,未满足需求的商品最少有多少个? 样例给出 order=[2,3,1],patt...原创 2018-10-27 15:43:37 · 116 阅读 · 0 评论 -
[lintcode] 877. 同和分割数组 [Medium]
描述给定一个有n个整数的数组,需要找到满足以下条件的三胞胎(i, j, k):0 < i, i + 1 < j, j + 1 < k < n - 1每个子数组的和(0,i - 1), (i + 1, j - 1), (j + 1, k - 1)和(k + 1, n - 1)应该相等。我们定义子数组(L, R)表示原始数组从元素索引L到元素索引R的一部分。 样例...原创 2018-10-27 12:02:59 · 238 阅读 · 0 评论 -
[lintcode]65. 两个排序数组的中位数[Hard]
描述两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数,要求时间复杂度应为O(log (m+n))。 样例给出数组A = [1,2,3,4,5,6] B = [2,3,4,5],中位数3.5给出数组A = [1,2,3] B = [4,5],中位数 3挑战时间复杂度为O(log n)思路本质上是二分查找, 只不过条件比较奇葩。除了思路之外难点还在于...原创 2018-10-24 14:54:50 · 179 阅读 · 0 评论 -
[lintcode] 1552.停车问题 [Medium]
描述小明中午出去买饮料,路过一家公共停车场,出于程序员的职业习惯,他很想知道这个停车场上午的最大化利用率有多少。经与门卫大叔沟通,他获得了该停车场上午车辆入场时间与出场时间的记录表(数据格式参考样例输入),你能通过拿到的数据写一个函数快速的帮小明算出这家停车场,上午最多的时候同时停放了多少辆车吗? 样例给出 a = [[8,9],[4,6],[3,7],[6,8]],返回 2。...原创 2018-10-28 21:01:54 · 283 阅读 · 0 评论 -
[lintcode] 1556.猜数游戏 [Hard]
描述为了进一步宣传,Lintcode决定策划一个猜数游戏。 游戏开始前,Lintcode会随机保密地选择一个不大于n的正整数x 让玩家来猜,并提供一个长度为n的数组a,a[i]表示玩家选择整数i时需要付出的金钱。 每一轮游戏,玩家可以任意选择一个整数并付出相应的价钱,如果猜中了,即选择的数是x,则游戏结束,否则Lintcode的小姐姐会告诉玩家x比玩家所选择的数大或者小,随后玩家继续付钱选择下...原创 2018-10-28 17:07:16 · 184 阅读 · 0 评论 -
[lintcode]161.旋转图像[Medium]
161. 旋转图像给定一个N×N的二维矩阵表示图像,90度顺时针旋转图像。 样例给出一个矩形[[1,2],[3,4]],90度顺时针旋转后,返回[[3,1],[4,2]]挑战能否在原地完成? 思路比较简单 直接上代码 class Solution {public: /** * @param matrix: a lists of in...原创 2018-10-22 15:17:45 · 93 阅读 · 0 评论 -
[lintcode] 79.最长公共子串[Medium]
描述给出两个字符串,找到最长公共子串,并返回其长度。 样例给出A=“ABCD”,B=“CBCE”,返回 2挑战O(n x m) time and memory. 解决思路是典型的动态规划问题。一开始和字符串匹配搞混了。csize[i][j]表示以A[i], B[j] 结尾的最长序列(不论是在什么地方开头的)。csize[i][j] = csize[i-1...原创 2018-10-11 18:02:00 · 117 阅读 · 0 评论 -
[lintcode] 1029. Cheapest Flights Within K stops [Medium]
描述There are n cities connected by m flights. Each fight starts from city u and arrives at v with a price w.Now given all the cities and fights, together with starting city src and the destination ...原创 2018-07-23 00:59:44 · 186 阅读 · 0 评论 -
[lintcode] 103. 带环链表 II [Hard]
描述给定一个链表,如果链表中存在环,则返回到链表中环的起始节点,如果没有环,返回null。 样例给出 -21->10->4->5, tail connects to node index 1,返回10挑战不使用额外的空间 思路第一反应是用一个map<ListNode, bool> visited解决问题。一跑发现TLE。我感觉应该其...原创 2018-07-30 08:20:15 · 232 阅读 · 0 评论 -
[lintcode] 8.旋转字符串
描述给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)样例样例 1: 输入: str="abcdefg", offset = 3 输出: "efgabcd" 样例解释: 返回旋转后的字符串。样例 2: 输入: str="abcdefg", offset = 0 输出: "abcdefg" 样例解释: 返回旋转后的字符串样例 3:...原创 2019-01-27 21:35:42 · 183 阅读 · 0 评论