算法是指完成一个任务 准确而完整的描述。  …
【算法提高—蓝桥杯】Hanoi塔问题
【Description】问题描述 如果将课本上的Hanoi塔问题稍做修改:仍然是给定N只盘子,3根柱子,但是允许每次最多移动相邻的M只盘子(当然移动盘子的数目也可以小于M),最少需要多少次? 例如N=5,M=2时,可以…
Notes:文本分类任务
1 传统方法 一般采用步骤: a.文本预处理 b.特征提取,得到文本表示 c.分类器分类 a.文本预处理 先根本停用词表去除停用词后,分词(用字会损失n-gram特征) b.特征提取,得到文本表示 词袋模型、语义相关的主…
详解KMP算法
转载于:(原创)详解KMP算法 KMP算法应该是每一本《数据结构》书都会讲的,算是知名度最高的算法之一了,但很可惜,我大二那年压根就没看懂过~~~ 之后也在很多地方也都经常看到讲解KMP算法的文章,看久了好像也知道是怎么…
算法—— 最近公共祖先 III
给一棵二叉树和二叉树中的两个节点,找到这两个节点的最近公共祖先LCA。 两个节点的最近公共祖先,是指两个节点的所有父亲节点中(包括这两个节点),离这两个节点最近的公共的节点。 返回 null 如果两个节点在这棵树上不存在…
选择排序
原理 从未排序的序列中选择最小元素,然后和起始位置元素交换(这样形成了局部有序序列),然后再从剩下未排列的序列中选择最小元素,和起始位置之后的一个元素交换,就这样一直到最后。 分析 第一趟:从第一个位置开始循环,找出序列…
冒泡排序
原理 依次比较两个相邻的元素,将大的值和小的值进行交换,使大值在小值右边。 这个过程很像鱼的冒泡,每次都把最大的泡先出来,所以称为冒泡排序。 分析 假如有N个数。 首先需要进行N-1趟比较。 第一趟:相邻元素比较,然后交…
Leetcode 9. Palindrome Number
题目描述:返回一个整型数字是否为回文数字。 题目链接:Leetcode 9. Palindrome Number 转成字符串,然后reverse操作得出结果。 代码如下 class Solution { public b…
科大笔试讯飞题目(春招算法工程师)
科大讯飞题目(春招算法工程师) 1、 就是排序后然后找最低的改成100,直到平均分大于等于X分结束,计算操作次数。 2、 合并右边小的数 最后是第一个数字 加上严格递增的数组,记录操作数。 AC代码如下,第一题pytho…
Leetcode 6. ZigZag Conversion
题目描述:之字打印出字符串,并返回结果。 题目链接:Leetcode 6. ZigZag Conversion 思路就是初始化n行字符串,然后像搜索一样一个上一个下去搜索。 代码如下 class Solution(obj…
Leetcode 7. Reverse Integer
题目描述:翻转整数,当超出32位时返回0. 题目链接:Leetcode 7. Reverse Integer 思路就是转换成字符串,判断是否为正负,然后再转换成数字。 还有一种就是不断除以10,然后另外一个数不断乘以10…
P、NP、NPC、和NP-Hard相关概念
一、相关概念 P: 能在多项式时间内解决的问题 NP: 不能在多项式时间内解决或不确定能不能在多项式时间内解决,但能在多项式时间验证的问题 NPC: NP完全问题,所有NP问题在多…