算法小记
文章平均质量分 54
唐唐唐唐人
IT界冉冉升起的一只小菜鸟,请各位大牛们多多指教~~
展开
-
利用5随机产生7随机及其扩展
原题题目给出一个随机产生1到5的函数,不适用其它随机函数的前提下,设计算法返回随机产生1到7的的数字。思路假设原始函数为rand1to5(),它能够随机的产生1,2,3,4,5这5个数字。 那么rand1to5() - 1能够随机产生0,1,2,3,4这5个数字。 那么(rand1to5() - 1) * 5能够随机产生0, 5, 10, 15, 20这5个数字。 那么(rand1to5()原创 2017-04-30 23:37:58 · 923 阅读 · 0 评论 -
没有Bug的二分法
每一个学过数据结构和算法的人都知道二分法,对于二分法的定义和思想了然于胸,然而,真正能够在很短的时间里面写出没有bug的二分法是不容易的一件事。想要编写没有bug的二分查找,最重要的亮点就是判断循环体是否终止的语句以及边界值left,right和区间值这三个地方要保持一致。下面记录二分法的两个不同的边界写法,千万不要搞混了。 写法一:int BinarySearch(vector<int>& nu原创 2017-07-18 22:58:54 · 450 阅读 · 0 评论 -
动态规划之01背包,完全背包,多重背包模板
自己整理的模板,记录一下:#include <iostream>#include <vector>#include <deque>#include <algorithm>using namespace std;const int M = 500;const int N = 500;#pragma region"01背包问题"// 未优化版int pack01(vector<int>& w原创 2017-08-24 15:46:27 · 481 阅读 · 0 评论