![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Algorithm
KID怪盗基德1412
这个作者很懒,什么都没留下…
展开
-
Algorithm(链表第后k个数)
题目描述: 设计一个算法求出单链表的倒数第m个结点,要求不能求出链表长度,不得对链表进行旋转,如果找到这样的结点就返回它的地址,如果没有就返回NULL。 分析:编程不难,主要就是思路。我们可以设置两个节点p,q,让p从*head位置先移动m-1个结点,然后q开始移动,当p移动到尾指针时,返回q就可以。 代码如下: #include <iostream> #include<...原创 2019-04-12 14:36:55 · 118 阅读 · 0 评论 -
Algorithm(判断单链表是否有环)
题目描述: 1.给定一个单链表,请设计程序判断该链表是否有环? 分析:我们知道单链表中一个节点只存在一个后继结点,所以若存在环形结构肯定是以下右图情况 因此,我们选择追逐法,选择一个指针p和一个指针q,每次q移动两个位置,p移动一个位置,如果单链表存在环形结构,那么最终p,q总会相遇在某处,,如果链表无环,则q将会率先为NULL。 参考...原创 2019-04-12 15:15:26 · 133 阅读 · 0 评论 -
Algorithm(判断两个单链表是否相交)
题目描述: 编写程序判断两个单链表是否相交? 分析:我们知道对于单链表只有一个后继结点,因此如果两个单链表相交,那么它们的尾节点地址必定相同,因此,我们只需要判断尾节点是否相同即可。 typedef struct node* Node; struct node { int...原创 2019-04-12 16:04:35 · 379 阅读 · 0 评论 -
BFS的应用一(相邻转换)
题目描述: 矩阵中1代表项目经理,2代表程序员,0代表空,问至少几步能将所有项目经理都转换为程序员,如果能完全转换返回步数,不能完全转换返回-1。如果2与1相邻则可以将1一步转换为2。例如 1 2 0 2 2 0 2 2 0 2 2 0 2 1 1 -> 2 2 1 -> 2 2 2 ->2 2 2 1 0 1 2 0 1 2 0 1 2 0...原创 2019-04-14 19:15:08 · 154 阅读 · 0 评论 -
字符串排列(全排列)
题目描述 编写一个方法,确定某字符串的所有排列组合。 给定一个stringA和一个intn,代表字符串和其长度,请返回所有该字符串字符的排列,保证字符串长度小于等于11且字符串中字符均为大写英文字符,排列中的字符串按字典序从大到小排序。(不合并重复字符串) 测试样例: "ABC" 返回:["CBA","CAB","BCA","BAC","ACB","ABC"] Solution...原创 2019-05-24 21:32:46 · 1365 阅读 · 0 评论 -
计算从1到n包含1的个数
薯队长在平时工作中需要经常跟数字打交道,某一天薯队长收到了一个满是数字的表格,薯队长注意到这些数字里边很多数字都包含1,比如101里边包含两个1,616里包含一个1。 请你设计一个程序帮薯队长计算任意一个正整数n(0<n<=2147483647),从1到n(包括n)的所有整数数字里含有多少个1。 #include<iostream> using namespace...转载 2019-05-17 11:50:11 · 1601 阅读 · 0 评论 -
两个字符串的最长公共子串
问题:有两个字符串str和str2,求出两个字符串中最长公共子串长度。 比如:str=acbcbcef,str2=abcbced,则str和str2的最长公共子串为bcbce,最长公共子串长度为5。 算法思路: 1、把两个字符串分别以行和列组成一个二维矩阵。 2、比较二维矩阵中每个点对应行列字符中否相等,相等的话值设置为1,否则设置为0。 3、通过查找出值为1的最长对角线就能找到最长公共...转载 2019-05-18 17:00:17 · 946 阅读 · 0 评论