![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法小记
文章平均质量分 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 · 879 阅读 · 0 评论 -
没有Bug的二分法
每一个学过数据结构和算法的人都知道二分法,对于二分法的定义和思想了然于胸,然而,真正能够在很短的时间里面写出没有bug的二分法是不容易的一件事。想要编写没有bug的二分查找,最重要的亮点就是判断循环体是否终止的语句以及边界值left,right和区间值这三个地方要保持一致。下面记录二分法的两个不同的边界写法,千万不要搞混了。 写法一:int BinarySearch(vector<int>& nu原创 2017-07-18 22:58:54 · 426 阅读 · 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 · 459 阅读 · 0 评论