算法刷题
文章平均质量分 88
剑指offer等做的算法题,写的总结等
丿灬慕容笑笑
这个作者很懒,什么都没留下…
展开
-
最长公共子序列和最长公共子串
最长公共子序列和最长公共子串最长公共子序列:最长公共子串:最长公共子序列:给定一个序列X=<x1,x2,x3,x4...,xm>,另一个序列Z=<z1,z2,z3,z4...,zk>,若存在一个严格递增的X的下标序列<i1,i2,i3,...,ik>对所有的1,2,3,...,k,都满足x(ik)=zk,则称Z是X的子序列比如Z=<B,C,D,B>是X=<A,B,C...原创 2021-01-26 13:16:42 · 490 阅读 · 0 评论 -
链表的题解(剑指offer)
链表的题解(剑指offer)如有问题,请多多指教题目是《剑指offer》上的所有链表题目,并不是最优解法,可以借鉴。前6个结构体的定义均为typedef struct ListNode{ int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};1.输入一个链表的头节点,从尾到头反过来返回每个...原创 2020-12-03 11:58:39 · 108 阅读 · 1 评论 -
链表中倒数第k个节点
链表中倒数第k个节点题目: 输入一个链表,输出该链表中倒数第K个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的为节点是倒数第1个节点。例如,一个链表有6个节点,从头结点开始,他们的值依次是1,2,3,4,5,6。这个链表的倒数第3个节...原创 2019-12-17 00:03:06 · 102 阅读 · 0 评论 -
剑指offer——表达数值的字符串
表达数值的字符串题目: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串“+100”、“5e2”、“-123”、“3.1416”及“-1E-16”都表示数值,但是“12e”、“1a3.14”、“...原创 2019-12-13 21:53:51 · 68 阅读 · 0 评论 -
剑指offer——正则表达式匹配
正则表达式匹配题目: 请实现一个函数用来匹配包含‘.’和‘*’的正则表达式,模式中字符‘.’表示任意一个字符,而‘*’表示它前面的字符可以出现的任意次数(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,...原创 2019-12-13 18:19:53 · 71 阅读 · 0 评论 -
剑指offer——删除链表的某一个节点
删除链表的某一个节点题目:给定单链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。链表的定义如下:struct ListNode{ int val; ListNode next;}void DeleteNode(ListN...原创 2019-12-11 22:27:46 · 248 阅读 · 0 评论 -
打印从1到最大的n位数(大数处理)
打印从1到最大的n位数题目: 输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数999。对于我们来说,我们可以直接想到的做法就是先求出最大的n位数,然后用一个循环从1打印就可以了。于是如下代码:...原创 2019-12-10 23:56:12 · 796 阅读 · 0 评论 -
剑指offer——旋转数组的最小值
旋转数组的最小数字 问题:把一个数组最开始的若干个元素搬到数组的末尾,我们称他为数组的旋转,输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 首先我们来理解一下什...原创 2019-07-19 17:42:36 · 105 阅读 · 0 评论 -
剑指offer——斐波那契数列
斐波那契数列我们写一个函数,输入n,求斐波那契数列的第n项。斐波那契数列的定义如下:0,1,1,2,3,5,8,13,21、、、、、 这样的一个数列。NO1: 我们可以首先想到递归的操作方法,对于递归来说,我们就只需要找到一个递推的...原创 2019-07-18 16:51:14 · 152 阅读 · 0 评论 -
剑指offer——从尾到头打印链表
从尾到头打印链表 问题:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。 NO1: 看见这个问题我们的第一反应就是将这个单链表反转一下,这样我们就可以将这个链表从尾到头的打印了。具体的链表的反转,我们可以参考https://blog.csdn.ne...原创 2019-07-17 15:01:45 · 102 阅读 · 0 评论 -
数组中重复的数字(1)
题目:找出数组中的重复数字 在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有哪几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者是3。第一种方法: 暴力解决 对于每一个数字都扫描一遍剩下的所有数字看有没...原创 2019-05-11 11:46:49 · 270 阅读 · 0 评论 -
不修改数组找出重复的数字
题目: 在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2,3,5,4,3,2,6,7,},那么对应的输出是重复的数字2或者3.这一题貌似和上一种办法差不多,但是不能修改数组,对于上一种办法的前三种都ok,都可以用,但是第四种办法不能用。在这里我们...原创 2019-05-11 11:49:29 · 106 阅读 · 0 评论 -
剑指offer:二维数组中的查找
二维数组中的查找题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都是按照从上到下的递增的顺序排列。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中有该整数。Eg:1 2 8 9 ...原创 2019-05-23 09:47:21 · 159 阅读 · 0 评论 -
剑指offer——替换空格
替换空格题目: 请实现一个函数,把字符串中的每个空格替换成“%20”。例如:输入“We are happy”,则输出“We%20are%20happy”;题目的意思则是:对于这个题,我的第一感觉是遇到空格就变成%20,所有的...原创 2019-05-23 11:28:16 · 75 阅读 · 0 评论 -
判断两个字符串是否是异构同质
判断两个字符串是否是异构同质在之前刷题看见了一个比较有趣的题目,在这里分享了一下,好好编码,早日上岸。题目:判断两个字符串是否是异构同质,异构同质的定义如下:一个字符串的字符,重新排列后变成另外一个字符串。要求:输入字符串合法字符集是【a-z,A-Z,0-9】,大小写敏感,不考虑输入异常的情况。例如:输入 ads asd 输出 TRUE;看完题目...原创 2020-02-19 12:20:48 · 1202 阅读 · 1 评论