AdamDuncan

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2017年12月2日

摘要: 一个简单的思考方式是5+6+7+8的和可以看成(5+6+7)+8,所以就可以想到动态规划的方法 设一个二维数组,i代表数列长度为(i+1),j代表数列首部数字。 比如说求和为5的连续正数数列 阅读全文
posted @ 2017-12-02 21:10 AdamDuncan 阅读(215) 评论(0) 推荐(0) 编辑

2017年12月1日

摘要: 在排序数组中查找很容易想到的就是二分查找,这样的查找效率是相当高的。 找到之后,再在这个数的周围向左或者向右进行延伸,查找有多少个相同的数字。 这次编程主要遇到的问题就是,对二分查找的要点已经忘得差不多了,所以特意写个博客记录。 这个数组中本身含有想要查找的数字很简单,设定三个值,left,midd 阅读全文
posted @ 2017-12-01 13:57 AdamDuncan 阅读(1659) 评论(0) 推荐(0) 编辑

摘要: 1、效率最低的方法就是使用两层循环,循环遍历比较两个节点是否相同。O(n^2) 2、观察到自从公共子节点之后,后面的链表必定是相同的。所以就可以使用两个栈,逐个放入。弹出的时候,遇到第一个不同的节点。之前的一个节点就是所求的第一个公共子节点。O(n) 如下图所示: 3、从头到尾遍历,计算两个链表的长 阅读全文
posted @ 2017-12-01 12:04 AdamDuncan 阅读(266) 评论(0) 推荐(0) 编辑

摘要: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 这个问题有一个很巧妙的方法就是不要从左下角或者右上角开始,而是要从左上角或者右下角开始。这是因为当他从左上角或者右下角开始的话,大于 阅读全文
posted @ 2017-12-01 00:32 AdamDuncan 阅读(166) 评论(0) 推荐(0) 编辑

2017年11月29日

摘要: 没想到一个简单的归并排序,也要这么久,足足写了一个小时25分钟,才能验证通过 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。 输入: 阅读全文
posted @ 2017-11-29 21:28 AdamDuncan 阅读(818) 评论(0) 推荐(0) 编辑

摘要: 1、从1开始的数,逐个判断是不是丑数。直到第N个输出 2、该方法目前还有bug,原因不明,理论上应该能做 每个丑数其实都是由之前的丑数乘2或者乘3或者乘以5得到的 使用一个set容器避免重复,使用一个优先队列存放丑数,每次得到最小的丑数,并且把最小的丑数乘2,乘3,乘以5。这三个结果分别不在set容 阅读全文
posted @ 2017-11-29 18:04 AdamDuncan 阅读(1020) 评论(0) 推荐(0) 编辑

2017年11月25日

摘要: 一个简单的动态规划问题 设一个dataArray二维数组,dataArray[x][y]表示,从x到y个数的和。 则dataArray[x][x]存的是一开始一位数组array[x]的值。 又比如dataArray[1][2] = array[1]+array[2]; 例如: 阅读全文
posted @ 2017-11-25 01:08 AdamDuncan 阅读(777) 评论(0) 推荐(0) 编辑

2017年11月23日

摘要: 好久没有写博客了,处于对于编程的热爱,我又回来了 回到这个问题,总共有两种思路 1、1)建立一个ArrayList,先存进去前k个数,接着从小到大排序 2)从这个n个数的第k+1数开始和ArrayList最后的一个数比较,如果比最后一个数小,就替换。接着排序。 3)重复上一个过程,直到所有的数遍历完 阅读全文
posted @ 2017-11-23 18:07 AdamDuncan 阅读(637) 评论(0) 推荐(0) 编辑

2017年9月26日

摘要: #include<iostream>#include<algorithm>#include<string>#include<stdlib.h>#include<cmath>using namespace std;int main(){ string str1, str2; string shortS 阅读全文
posted @ 2017-09-26 23:10 AdamDuncan 阅读(3517) 评论(0) 推荐(0) 编辑

2017年9月24日

摘要: #include<iostream>#include<stdlib.h>#include<malloc.h>#include<algorithm> #include<ctime>#define length 10using namespace std;bool compare(int a, int 阅读全文
posted @ 2017-09-24 01:01 AdamDuncan 阅读(225) 评论(0) 推荐(0) 编辑