摘要: 题目:设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为o(N),且只允许使用两个附加变量。若k>n,可用k%n 把前N-K位逆序,把后K位逆序,最后把整个数组逆序,就是答案 阅读全文
posted @ 2014-12-05 11:57 智者无惧 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 写一个时间复杂度尽可能低的程序,求一个一维数组(N个元素)中最长递增子序列的长度。解法一:用动态规划,找出以当前元素结尾的最大递增子序列长度。dp[i+1] = max{1, dp[i]+1} ,array[i+1]>array[k] ,k<=i; 复杂度为o(n*n + n).解法二:另外开一个数... 阅读全文
posted @ 2014-12-05 11:19 智者无惧 阅读(522) 评论(0) 推荐(0) 编辑