摘要: 题目:给定一个数组arr,该数组无序,但每个值均为正数,再给定一个正数k。求arr得所有子数组中所有元素相加和为k的最长子数组长度。 解答:最优解可以做到时间复杂度为o(n),额外空间复杂度为o(1).首先用两个位置来标记子数组的左右两头,记为left和right,开始时都在数组的最左边(left= 阅读全文
posted @ 2016-08-14 22:48 hi,daring 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个无序整数数组arr,找到其中最小的k个数 要求:如果数组arr的长度为n,排序之后自然可以得到最小的k个数,此时时间复杂度与排序的时间复杂度相同均为O(NlogN),本题要求实现时间复杂度为O(NLogK). 1.O(NLogK)的方法,即一直维护一个有k个数的最大的大根堆,这个堆是目 阅读全文
posted @ 2016-08-14 22:05 hi,daring 阅读(566) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个N*N的矩阵matrix,求把这个矩阵调整成顺时针转动90度后的形式。 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 顺时针转动90度后为: 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4 要求:额外空间复杂度为O( 阅读全文
posted @ 2016-08-14 16:24 hi,daring 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 1.给定一个整形矩阵matrix,请按照转圈的方式打印它。 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 打印结果为: 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 要求额外空间复杂度为:O(1) 解答: 本题主要介绍一种矩阵处 阅读全文
posted @ 2016-08-14 15:45 hi,daring 阅读(687) 评论(0) 推荐(0) 编辑