常见算法题合辑(一)
这一章的内容,有些之前已经在微信公众号中将详细的思路及步骤汇总过,有些之后可能会再找时间对其进行分析,这里只将最终实现罗列出来,难易程度不分先后,算法复杂度不保证是最优,留给大家空间自行思考,当然,本章用的是C#语言进行编码,大家可以使用自己熟悉的语言将这些算法实现一遍哦~
如果你有什么有趣的算法题或者没能解决的算法题,也可以留言给小编,让我们一起玩转算法~
1. 冒泡排序
这个算是所有算法中最为简单的了,实现方法如下:
2. 插入排序
从排序算法来看,这个算法也是属于比较简单的了,实现方法如下:
3. 将两个有序数组进行合并且确保合并后数组依然保持排序状态
这个算法当然可以借助上面两个排序方式来完成,但题中一个有利条件为两个数组已经是有序状态,因此,利用好这个有利条件,会让算法的复杂度变得更优,实现方式如下:
4. Two Sum
这个题来自于LeetCode,难易程度属于简单,题目如图:
实现方式如下:
5. Add Two Numbers
同样来自LeetCode的一个算法题,难易程度一般吧,题目如图:
实现方式如下:
6. 使用C#编码实现String.Split()方法
这题相当于不使用类库提供的方法,而是实现类库中的这个方法,实现方式有很多,推荐方式如下:
7. 使用C#编码实现String.Replace()方法
与上题有异曲同工之妙,也是实现类库提供的方法,这里用到了StringBuilder, 但不保证方法是最优的~ 大家可以自行思考:
这一次的合辑主要就是这几个算法啦,难度值其实都不大,重点看自己是否能理解其中的逻辑了~
想要第一时间看到软件测试系列文章的更新及更多精彩内容可以扫描下面二维码关注微信公众号: 倚楼听风雨的如月
作者:Ribbon 出处: http://www.cnblogs.com/Ribbon/
本文版权归作者和博客园共有,欢迎转载。未经作者同意下,必须在文章页面明显标出原文链接及作者,否则保留追究法律责任的权利。
如果您认为这篇文章还不错或者有所收获,可以点击右下角的【推荐】按钮,因为你的支持是我继续写作,分享的最大动力!