算法
MoreTechSEU
程序员 C C++ matlab 数据结构和算法 通信 中继算法仿真 互联网 研究生 热情 好奇心 成就感 设计模式 技术爱好者 摄影、徒步、攀岩、骑行等户外运动
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构和算法学习系列之最大子序列求和问题的O(N)时间复杂度
参考书目:数据结构与算法分析C++描述(第3版) Mark Allen Weiss书中介绍的第四种方法O(N)时间复杂度比较难理解,所以在看懂之后写了注释,比较难理解的位置是thisSum < 0的情况,如果当前和小于零,则当前和重置为零。即重置起点,置零意味着将i向前提到当前处也即thissum为计数起点maxsum已经记住过去最大值的终点1. int maxSubSum (int data[]原创 2015-03-06 15:40:49 · 1190 阅读 · 0 评论 -
判断整数是否是回文数
关于 判断整数是否是回文数 几种解法:一是将整数转化为字符形式,但需要额外空间;二是将数字逆转得到另一个数,判断是否与原数相等,但有可能溢出;符合要求的方法是从数的两端向中间推进判断;如相等则弃掉首尾数字;bool isPalindrome(int x) { if (x < 0) return false; int div = 1; while (x / div >= 10) {原创 2015-04-29 15:40:55 · 1020 阅读 · 0 评论 -
编程之美学习笔记之 一摞烙饼的排序
编程之美书中讲的一摞烙饼的排序一题 这里无法用基本的排序方法对其排序,那么最直接的方法是找出N个数种最大者,将这通过两次翻转放置到最底部,然后处理N-1,N-2等,直到全部排序完,所以一共需要交换2(N-1)次void reverse(int cakes[], int beg, int end) { int temp; while(beg < end){ temp原创 2015-04-29 15:59:17 · 874 阅读 · 0 评论
分享