菱纱梦

导航

随笔分类 -  算法学习

Patching Array
摘要:引用原文:http://blog.csdn.net/murmured/article/details/50596403 但感觉原作者的解释中存在一些错误,这里加了一些自己的理解 Given a sorted positive integer array nums and an integer n, 阅读全文

posted @ 2016-01-28 14:14 菱纱梦 阅读(436) 评论(0) 推荐(0)

算法温习动态规划之石子合并问题
摘要:石子合并问题分为直线型和圆形:直线型:直线型狮子合并问题存在以下递推式:f[i][j]:表示从第i堆合并到底j堆,最少代价f[i][j]=0; i=jf[i][j]=min( f[i][k]+f[k+1][j]+sum(i,j)); i#includeusing namespace std;int ... 阅读全文

posted @ 2015-04-29 18:29 菱纱梦 阅读(541) 评论(0) 推荐(0)

算法温习动态规划之01背包问题
摘要:01背包问题不再详述,百度之。先给出01背包的递推式如下:f[i][j]:表示把前i个物品放入承重为j的背包中得到的最大价值。f[i][j]=max((f[i-1][j-w[i]+p[i]),f[i-1][j]) (j>=w[i])f[i][j]=f[i-1][j] (j#includeusing ... 阅读全文

posted @ 2015-04-29 18:13 菱纱梦 阅读(317) 评论(0) 推荐(0)

Interleaving String
摘要:Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example,Given:s1 = "aabcc",s2 = "dbbca", When s3 = "aadbbcbcac", ret 阅读全文

posted @ 2014-10-06 10:16 菱纱梦 阅读(179) 评论(0) 推荐(0)

各种排序算法总结
摘要:1:合并排序 合并排序算法使用分治策略实现对n个元素进行排序的算法。其基本思想是:将待排序元素分成大小大致相同的两个子集合,分别对两个子集合进行排序,最后总将排好序的子集合合并成所要求的排好序的集合。算法描述如下:void MergeSort(Typr a[],int left,int right... 阅读全文

posted @ 2014-09-16 11:27 菱纱梦 阅读(191) 评论(0) 推荐(0)