![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程
qq_16087027
这个作者很懒,什么都没留下…
展开
-
把一个0-1串(只包含0和1的串)进行排序,你可以交换任意两个位置,问最少交换的次数
采用快速排序中数据交互的思想,设置双指针.同时从前往后、从后往前,扫描一遍即可。 // An highlighted block def swapcounts(charlist): start = 0 end = len(charlist)-1 count = 0 while start < end: while charli...原创 2018-11-19 22:37:53 · 1753 阅读 · 0 评论 -
求两个字符串的最长公共子序列Longest Common Sequence(LCS)
题目分析: 首先需要理解题目中几个名词的含义。 (1)子序列的含义:一个序列S,任意删除若干个(可为0个)字符后得到的序列C,则C称为S的子序列 (2)最长公共子序列定义为两个序列的公共子序列中最长的一个或若干个。 (3)任意两个序列X和Y,至少存在一个公共子序列"空",即‘’。 假设已知给定的序列为X和Y,长度分别为m和n。 解法1:暴力穷举法 思路:因为要求的是两个串X和Y的最长公共子序列,因...原创 2018-11-28 22:48:14 · 3623 阅读 · 0 评论 -
第一个缺失的整数
第一个缺失的整数 给定一个长度为N的数组A[0,…N-1],从1开始,找到第一个不在数组中的正整数。 如 3,9,8,1,6,32,输出为2。 思路: 求解该问题可以有三种策略,分别是暴力破解法、bitmap法和循环不变式方法。 方法1—暴力破解法: 看到这个题后,既然是找从1开始第一个不在数组A中的正整数,那最简单最直接的反应就是我能否可以从1开始,在A中查找这个数是否存在,若存在则找下一个正整...原创 2019-01-20 15:36:08 · 576 阅读 · 0 评论