摘要: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: 阅读全文
posted @ 2019-06-09 20:59 Austin_anheqiao 阅读(662) 评论(0) 推荐(0) 编辑
摘要: 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 示例 1: 输入: [3,2,3]输出: 3示例 2: 输入: [2,2,1,1,1,2,2]输出: 2 注意:总是存在众数意思是,只有唯一的一个 阅读全文
posted @ 2019-06-09 19:02 Austin_anheqiao 阅读(810) 评论(0) 推荐(0) 编辑
摘要: 给定一个int型数组,找出该数组中出现次数大于数组长度一半的int值。 解决方案: 遍历该数组,统计每个int值出现次数,再遍历该集合,找出出现次数大于数组长度一半的int值。 同样的,该解决办法也要求使用Map,否则无法达到线性的时间复杂度。 那么对于这个问题,有没有什么不使用Map的线性算法呢? 阅读全文
posted @ 2019-06-09 16:33 Austin_anheqiao 阅读(961) 评论(0) 推荐(0) 编辑
摘要: 用到了快速排序、插入、堆排序。 阅读全文
posted @ 2019-06-09 16:09 Austin_anheqiao 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重 阅读全文
posted @ 2019-06-09 15:05 Austin_anheqiao 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 阅读全文
posted @ 2019-06-09 14:28 Austin_anheqiao 阅读(200) 评论(0) 推荐(0) 编辑
摘要: vector 的size函数返回vector大小,返回值类型为size_type,Member type size_type is an unsigned integral type,即无符号整数; vector<int> A; A.size()-1因为size返回值是无符号类型所以 A.size( 阅读全文
posted @ 2019-06-09 14:10 Austin_anheqiao 阅读(1246) 评论(0) 推荐(0) 编辑