- 博客(6)
- 收藏
- 关注
原创 算法笔记学习:入门篇2 二分(待补充)
二分查找引例:猜数字——玩家A从一个区间中选择一个数x,玩家B去猜测这个数。在猜测时,如果B猜测的数字不等于x,则以这个数字和x的大小关系截取新的区间来缩小猜测范围。显然,每次猜测时选择当前范围的中间数就可以快速逼近正确答案。这个游戏背后是一个经典文艺问题:如何在一个严格递增序列A中找到给定的数x。最直接的办法是线性扫描序列中的所有元素,直到找到x。但这种序列查找的方式复杂度为O(n),当待查询序列很大时,这个方法就不太能够接受了。更好的方法是使用二分查找——每次测试找到待查询序列的中间位置并与待查询
2020-08-19 17:07:29 100
原创 算法笔记学习:入门篇2 贪心(待补充)
简单贪心贪心法是求解一类最优化问题的方法,它总是考虑在当前状态下局部最优或较优的策略,来使全局达到最优或较优
2020-08-10 18:46:38 209 2
原创 算法笔记学习:入门篇 2 递归
分治分解:将原问题分解为若干和原问题结构相同或相似的子问题解决:递归求解所有子问题合并:将子问题的解合并为原问题的解递归实现分治法案例:阶乘案例:斐波那契数列案例:全排列一般称将1~n这n个整数按某个顺序摆放的结果称为这n个整数的一个排列,而全排列是指这n个整数能够形成的全部排列。现在需要实现按字典序实现 1 ~ n 的全排列。其中,(a1,a2,…,an)字典序小于(b1,b2,…,bn)是指存在一个i,使得a1=b1,a2=b2,…,a(i-1)=b(i-1),ai<b
2020-08-07 17:21:12 101
原创 算法笔记学习Part2:入门篇1——字符串处理
题目描述给定一句英语,要求编写程序,将句中所有单词倒序输出输入格式测试输入包含一个测试用例在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格输出格式每个测试用例的输出占一行,输出倒序后的句子样例输入Hello World样例输出World Hello解决方案#include<cstdio>#include<cstring>int ma
2020-08-02 16:56:22 148
原创 算法笔记学习Part2:入门篇1——计算日期差值
题目描述有两个日期,求两个日期之间的天数。若两个日期是连续的,则规定他们之间的天数是两天输入格式有多组数据,每组数据有两行,分别表示两个日期,格式为YYYYMMDD输出格式每组数据输出一行,即日期差值解决方案基本思路:将较小的日期按天数逐渐累加到较大的日期,过程中记录累加次数,最终得出之间天数#include<cstdio>//定义month数组存储平年闰年的每个月份天数方便直接读取int month[13][2] = { {0,0},{31,31},{28,29},{
2020-08-02 15:17:29 199
原创 算法笔记学习Part1:C/C++快速入门
知识杂记int 类型的使用范围:一般在 10^9 以内long long 类型赋大于 2^31-1 的初值需要加后缀 LL\0 代表 NULL关于移位运算符的使用(略)在printf输出时,可以采取一些手段规范输出格式:%md 右对齐输出,用空格补齐%0md 右对齐输出,用0补齐%.mf 保留m位输出,四舍六入五成双可以使用 getchar 和 putchar 读取和输出字符 (getchar可识别换行符,在putchar输出时自动换行)(getchar需要手动输入\0)常用的math
2020-08-01 17:38:46 153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人