![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
天梯赛训练
Cisse-away
这个作者很懒,什么都没留下…
展开
-
LintCode-6合并排序数组 II(C++)
题目描述 合并两个排序的整数数组A和B变成一个新的数组。 样例 给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]原始代码class Solution {public: /* * @param A: sorted integer array A * @param B: sorted int原创 2018-01-22 23:42:41 · 697 阅读 · 0 评论 -
LintCode-44. 最小子数组
题目描述 给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。 注意事项 子数组最少包含一个数字 样例 给出数组[1, -1, -2, 1],返回 -3分析 利用上一道题(文章链接)相反的思路加上当时网上借鉴的算法即可完成。代码class Solution {public: /* * @param nums: a原创 2018-02-02 21:14:58 · 222 阅读 · 0 评论 -
LintCode-41. 最大子数组
题目描述 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 注意事项 子数组最少包含一个数 样例 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6 挑战 要求时间复杂度为O(n)分析 不考虑挑战的要求的话,需要两层循环,外层循环从开始遍历到结束,内层循环用来寻找最大值原创 2018-02-02 21:06:57 · 200 阅读 · 0 评论 -
LintCode-39. 恢复旋转排序数组
题目描述 给定一个旋转排序数组,在原地恢复其排序。 说明 什么是旋转数组? 比如,原始数组为[1,2,3,4], 则其旋转数组可以是[1,2,3,4], [2,3,4,1], [3,4,1,2], [4,1,2,3] 样例 [4, 5, 1, 2, 3] -> [1, 2, 3, 4, 5] 挑战 使用O(1)的额外空间和O(n)时间复杂度原创 2018-01-26 15:27:11 · 276 阅读 · 0 评论 -
LintCode-35. 翻转链表
题目描述 翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 挑战 在原地一次翻转完成分析 看完题目第一个想到的就是用递归,每次让最后一个节点的next指针指向他的前置节点。代码/** * Definition of ListNode * * class ListNo原创 2018-01-26 14:47:45 · 198 阅读 · 0 评论 -
LintCode-30. 插入区间
题目描述 给出一个无重叠的按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 样例 插入区间[2, 5] 到 [[1,2], [5,9]],我们得到 [[1,9]]。 插入区间[3, 4] 到 [[1,2], [5,9]],我们得到 [[1,2], [3,4], [5,9]]。分析原创 2018-01-25 19:30:35 · 319 阅读 · 0 评论 -
LintCode-28. 搜索二维矩阵
题目描述 写出一个高效的算法来搜索 m × n矩阵中的值。 这个矩阵具有以下特性: 每行中的整数从左到右是排序的。 每行的第一个数大于上一行的最后一个整数。 样例 考虑下列矩阵: [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50] ] 给出 target = 3,原创 2018-01-25 16:15:27 · 180 阅读 · 0 评论 -
LintCode-22. 平面列表
题目描述 给定一个列表,该列表中的每个要素要么是个列表,要么是整数。将其变成一个只包含整数的简单列表。 注意事项 如果给定的列表中的要素本身也是一个列表,那么它也可以包含列表 样例 给定 [1,2,[1,2]],返回 [1,2,1,2]。 给定 [4,[3,[2,[1]]]],返回 [4,3,2,1]。 挑战 请用非递归方法尝试解答这道题。原创 2018-01-24 19:27:51 · 294 阅读 · 2 评论 -
LintCode-14. 二分查找
题目描述 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 样例 在数组 [1, 2, 3, 3, 4, 5, 10] 中二分查找3,返回2。 挑战 如果数组中的整数个数超过了2^32,你的算法是否会出错?分析 根据题目描述可原创 2018-01-24 14:43:35 · 187 阅读 · 0 评论 -
LintCode-13. 字符串查找
题目描述 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。 说明 在面试中我是否需要实现KMP算法? 不需要,当这种问题出现在面试中时,面试官很可能只是想要测试一下你的基础应用能力。当然你需要先跟面试官确认清楚要怎么实现这个题。原创 2018-01-23 20:09:10 · 220 阅读 · 0 评论 -
LintCode-9. Fizz Buzz 问题
题目描述 给你一个整数n. 从 1 到 n 按照下面的规则打印每个数: 如果这个数被3整除,打印fizz. 如果这个数被5整除,打印buzz. 如果这个数能同时被3和5整除,打印fizz buzz. 样例 比如 n = 15, 返回一个字符串数组: [ “1”, “2”, “fizz”, “4”, “buzz”, “f原创 2018-01-23 19:12:21 · 270 阅读 · 0 评论 -
LintCode-8. 旋转字符串
题目描述 给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转) 样例 对于字符串 “abcdefg”. offset=0 => “abcdefg” offset=1 => “gabcdef” offset=2 => “fgabcde” offset=3 => “efgabcd” 挑战 在数组上原地旋转,使用O(1)的额外空间原创 2018-01-23 12:38:16 · 306 阅读 · 0 评论 -
LintCode-46. 主元素
题目描述 给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。 注意事项 You may assume that the array is non-empty and the majority number always exist in the array. 样例 给出数组[1,1,1,1,2,2,2],返回 1 挑战原创 2018-02-02 21:41:01 · 231 阅读 · 0 评论