编程
普通网友
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在线编程(一)
1.转圈形式打印矩阵。 思想:一圈一圈的打印,左上角下标为为(tr,tc),右下角下标设为(dr,dc),打印最外圈后,左上角下标+1,右下角下标–, C++实现如下:#include <iostream> #include <vector> using namespace std; void printf(vector<vector<int>> matrix,int tr,int tc,int原创 2017-05-31 21:11:03 · 327 阅读 · 0 评论 -
在线编程(二)
1.给定一个无序数组,找出其中最小的k个数。 思路:建立一个k个数的最大堆,则这个堆的堆顶为最大的数,依旧与剩下的数比较,若小于堆顶,则互换并维护这个堆。得到的这个堆即为最小的k个数。 #include #include using namespace std; //建立k个数的最大堆 void heapinsert(vectorint> &arr,int value,int ind原创 2017-06-02 13:51:50 · 232 阅读 · 0 评论 -
在线编程(三)
1.斐波那契数列 思路1:直接递归调用,时间复杂度 O(2N)O(2^N)int Fibonacci(int n) { if(n==1 || n==2) return n; return Fibonacci(n-1) + Fibonacci(n-2);}思路2:动态规划,将前n次的结果保存,时间复杂度O(N)O(N)int Fibonacci(int n) { if(n==1 || n==2) r原创 2017-06-05 11:20:24 · 316 阅读 · 0 评论 -
在线编程四
1.求最长递增子序列 给定:arr=[2,1,5,3,6,4,8,9,7]; 得到:[1,3,4,8,9] #include #include using namespace std; /**********************************************/ //时间复杂度 n^2 vectorint> getdp(vectorint> arr) { in原创 2017-06-21 17:02:35 · 282 阅读 · 0 评论
分享