
算法笔记
算法笔记
Harmony_Launch
这个作者很懒,什么都没留下…
展开
-
【算法笔记(十)】之DFS通用问题解决方法
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. DFS(一)概述 深度优先搜索,以深度为优先选项,它会走遍所有的路径,即枚举所有完整路径来找到最佳的路径。(二)实现思路 DFS可以使用栈来解决,DFS的使用过程和栈十分类似,选择一条路为进栈,退出一条路为出栈。更简单的实现方法是通过递归来实现DFS,递归中必须有递归式和递归边界,DFS中的递归式即为岔道口原创 2020-09-17 22:41:40 · 1227 阅读 · 0 评论 -
【算法笔记(九)】之素数的一般解法和筛选解法
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 素数的判断 从素数的定义中可以知道,一个整数要被判断为素数,需要判断n是否能被2,3,n-1中的一个整除。只有2, 3, …, n-1都不能整除n,n才能判定为素数,只要有一个能整除n的数出现,n就可以判定为非素数。二. 常规判断解法(一) 遍历所有值 了解了如何判断素数,只要从2开始一直循环到n-1,如果原创 2020-09-03 07:37:48 · 189 阅读 · 0 评论 -
【算法笔记(八)】之最大公约数和最小公倍数
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 最大公约数(一)概述 最大公约数即数a和数b之间的所有公约数中最大的那个公约数。求解最大公约数要用欧几里得算法(辗转相除法): 设a, b 均为正整数,则gcd(a, b) = gcd(b, a % b) gcd(a, b)为a和b的最大公约数(二原创 2020-08-16 22:56:33 · 279 阅读 · 0 评论 -
【算法笔记(七)】之快速排序
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 快速排序(一) 思路 快速排序的思路是对于序列中的某一元素,调整序列中元素的位置,使得该元素左边的元素都不大于该元素,该元素右边的元素都大于该元素。(二) 解决方法 用two pointers的方法解决,设置两个指针,分别指向序列a的首尾。令两个下标指向首尾,即left指向a[1],right原创 2020-08-16 21:14:46 · 140 阅读 · 0 评论 -
【算法笔记(六)】之归并排序
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 归并排序 以基本的2-路归并排序作为例子来介绍归并排序。(一)2-路归并排序原理 序列中共n个数,将序列两两分组,分为 [n / 2]个组,组内进行单独排序,然后将这些组两两归并,每两个组合并成一个组;于是生成了[n / 4]个组,组内依然单独排序;重复同样的操作,直到合并成一个组为止。时间复杂度为O(nlo原创 2020-08-13 18:53:22 · 169 阅读 · 0 评论 -
【算法笔记(五)】之贪心算法求取不相区间
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 贪心算法: 求解最优化问题的方法,考虑在当前状态下局部最优的策略,使得全局的结果达到最优的状态。因为,全局的最优是由中间的每一步最优组成的,那么可以用局部的最优一步步推得全部的最优。 一个问题的最优解可以有它的子问题的最优解构造出来。这其实用的就是迭代的思维,将一个问题分解为许多子问题求解。二.区间贪心&n原创 2020-08-04 23:31:10 · 210 阅读 · 0 评论 -
【算法笔记(四)】之逆序输出一句话
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. PAT B1009(一)题目: 输入一句英文,将所有的单词按照逆序输出,但是单词本身的顺序时不变的。(二)输入格式: 单词之间由空格隔开,输入句子末尾没有空格。 Hello World(三)输出格式: &n原创 2020-07-26 23:42:09 · 423 阅读 · 0 评论 -
【算法笔记(三)】之对称字符串(回文串)
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 对称字符串(回文串) 一个字符串正读和反读都是一样的,称为对称字符串(回文串)。如noon,12321。二. 实例(一)题目: 读入一个字符串,判断是否为 “回文串”。如果是,输出YES,如果不是,输出NO。(二)输入格式: noon(三)原创 2020-07-26 23:04:57 · 1233 阅读 · 0 评论 -
【算法笔记(二)】之进制之间的转换
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 进制转换十进制,二进制,八进制,十六进制之间如何转换? 除了十进制外的进制数之间的转换需要以十进制为跳板,如二进制要转换为八进制,那么就要先将二进制转换为十进制,再 将十进制转换为八进制。二. p进制数x转换为十进制数y 设p进制数x为a1a2…an,那么转换成十进制数y就可以表示成:原创 2020-07-26 22:39:07 · 290 阅读 · 0 评论 -
【算法笔记(一)】之计算两个日期之差
本文章由公号【开发小鸽】发布!欢迎关注!!!老规矩–妹妹镇楼:一. 题目 输入两个日期,求两个日期之间的天数,如果两个日期是连续的,则规定他们之间的天数为两天。输入格式: YYYYMMDD 20130101 20130505输出个数: &nb原创 2020-07-24 23:56:45 · 1414 阅读 · 0 评论