会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
AdamDuncan
博客园
::
首页
::
博问
::
闪存
::
新随笔
::
联系
::
订阅
::
管理
::
公告
上一页
1
2
3
下一页
2017年12月2日
和为S的连续正数数列,动态规划,C++
摘要: 一个简单的思考方式是5+6+7+8的和可以看成(5+6+7)+8,所以就可以想到动态规划的方法 设一个二维数组,i代表数列长度为(i+1),j代表数列首部数字。 比如说求和为5的连续正数数列
阅读全文
posted @ 2017-12-02 21:10 AdamDuncan
阅读(218)
评论(0)
推荐(0)
2017年12月1日
统计一个数组在排序数组中出现的次数,C++,二分查找
摘要: 在排序数组中查找很容易想到的就是二分查找,这样的查找效率是相当高的。 找到之后,再在这个数的周围向左或者向右进行延伸,查找有多少个相同的数字。 这次编程主要遇到的问题就是,对二分查找的要点已经忘得差不多了,所以特意写个博客记录。 这个数组中本身含有想要查找的数字很简单,设定三个值,left,midd
阅读全文
posted @ 2017-12-01 13:57 AdamDuncan
阅读(1731)
评论(0)
推荐(0)
寻找两个链表的第一个公共子节点,C++
摘要: 1、效率最低的方法就是使用两层循环,循环遍历比较两个节点是否相同。O(n^2) 2、观察到自从公共子节点之后,后面的链表必定是相同的。所以就可以使用两个栈,逐个放入。弹出的时候,遇到第一个不同的节点。之前的一个节点就是所求的第一个公共子节点。O(n) 如下图所示: 3、从头到尾遍历,计算两个链表的长
阅读全文
posted @ 2017-12-01 12:04 AdamDuncan
阅读(274)
评论(0)
推荐(0)
二维数组中的查找
摘要: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 这个问题有一个很巧妙的方法就是不要从左下角或者右上角开始,而是要从左上角或者右下角开始。这是因为当他从左上角或者右下角开始的话,大于
阅读全文
posted @ 2017-12-01 00:32 AdamDuncan
阅读(168)
评论(0)
推荐(0)
2017年11月29日
数组中的逆序对,C++,分治算法
摘要: 没想到一个简单的归并排序,也要这么久,足足写了一个小时25分钟,才能验证通过 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。 输入:
阅读全文
posted @ 2017-11-29 21:28 AdamDuncan
阅读(834)
评论(0)
推荐(0)
得到从小到大的第N个丑数的三种方式(C++)一维动态规划
摘要: 1、从1开始的数,逐个判断是不是丑数。直到第N个输出 2、该方法目前还有bug,原因不明,理论上应该能做 每个丑数其实都是由之前的丑数乘2或者乘3或者乘以5得到的 使用一个set容器避免重复,使用一个优先队列存放丑数,每次得到最小的丑数,并且把最小的丑数乘2,乘3,乘以5。这三个结果分别不在set容
阅读全文
posted @ 2017-11-29 18:04 AdamDuncan
阅读(1046)
评论(0)
推荐(0)
2017年11月25日
连续字数组的最大和(Java)一个int数组,求其中的最大的连续数的和
摘要: 一个简单的动态规划问题 设一个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
阅读(785)
评论(0)
推荐(0)
2017年11月23日
n个整数,求这中间最小的k个整数(Java)
摘要: 好久没有写博客了,处于对于编程的热爱,我又回来了 回到这个问题,总共有两种思路 1、1)建立一个ArrayList,先存进去前k个数,接着从小到大排序 2)从这个n个数的第k+1数开始和ArrayList最后的一个数比较,如果比最后一个数小,就替换。接着排序。 3)重复上一个过程,直到所有的数遍历完
阅读全文
posted @ 2017-11-23 18:07 AdamDuncan
阅读(640)
评论(0)
推荐(0)
2017年9月26日
两个字符串的最长公共子串求法(C++、动态规划)
摘要: #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
阅读(3586)
评论(0)
推荐(0)
2017年9月24日
自写归并排序和调用系统排序方法,C++
摘要: #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
阅读(226)
评论(0)
推荐(0)
上一页
1
2
3
下一页