自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 数组最大间隔问题

给定整数数组A[0,1,…,N-1],求这N个数排序后的最大间隔,如给定:1,4,9,3,10,20,其最大间隔为10。显然,如题所示,可对给定数组进行排序,然后对排序后的结果遍历一遍,相邻两数之间的最大差值即为所求。那是否有其它更好的方法呢?首先,我们先引入点儿数学知识:假设,对于N个正整数,其中最大值和最小值分别为Max,Min,则形成了N-1个间隔,如果这N个数完全均匀分布,则间距全...

2019-01-20 17:08:38 1719

原创 第一个缺失的整数

第一个缺失的整数给定一个长度为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 579

原创 求两个字符串的最长公共子序列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 3629

原创 给定一个字符串S,对字符串循环左移m位,要求时间复杂度为O(n),空间复杂度为O(1)

分析:首先,循环左移的意思类似于二进制串的循环左移,对于给定的字符串S(此处的字符串仅是指字符组成的串,并不是指编程语言中的字符串类型,因为大部分编程语言中的字符串类型是无法对字符串的某一字符进行修改的,只能对整个串进行修改),如S=‘abcdefghijkl’,对其循环左移3位,则变为S=‘defghijklabc’。通过对例子分析,循环左移3位等价于循环右移了len(S)-3=9位。其次,其...

2018-11-24 16:52:31 1517

原创 把一个0-1串(只包含0和1的串)进行排序,你可以交换任意两个位置,问最少交换的次数

采用快速排序中数据交互的思想,设置双指针.同时从前往后、从后往前,扫描一遍即可。// An highlighted blockdef swapcounts(charlist): start = 0 end = len(charlist)-1 count = 0 while start < end: while charli...

2018-11-19 22:37:53 1756

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除