摘要:        
似曾相识。。。public class Solution { public int[][] generateMatrix(int n) { int cnt = 1; int top = 0; int bottom = n-1; int left = 0; int right = n-1; int[][] r = new int[n][n]; while (cnt = left; i--) r[bottom][i] = cnt++; bott...    阅读全文
posted @ 2013-09-24 21:37
阿牧遥
阅读(167)
评论(0)
推荐(0)
        
            
        
        
摘要:        
http://wikioi.com/problem/1044/这道题是DP。前一问很自然可以规约成最长不升(含等号下降)子序列。难点在后一问为何能规约成最长上升子序列。后来看了网上的回答,仍然没有简单的理解方法,似乎需要证明。证明可以这么来看,一是如果有长度为n的上升子序列,那么至少要n个序列;二,可以找一个方法构造出这n个队列。(方法暂不表)但如果用贪心,就好理解多了。比如:389 207 155 300 299 170 158 65 贪心就是从头往后,只要能放入第一个队列就第一个,那么389,207,155,然后跳过一些放入65然后第二个队列开始300。最终是300,299,170,158    阅读全文
posted @ 2013-09-24 20:30
阿牧遥
阅读(222)
评论(0)
推荐(0)
        
 
                    
                     
                    
                 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号