算法题解
AKA_SUPERROSE
重新开始,从心出发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法题解-求二叉树的深度
知识点:二叉树,递归 题目来源:nc274 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度,根节点的深度视为 1 。 数据范围:节点的数量满足 0≤n≤1000 ,节点上的值满足 0≤val≤1000 空间复杂度 O(1) ,时间复杂度 O(n) 假如输入的用例为{1,2,3,4,5,#,6,#,#,7},那么如下图: 测试数据 示例1 输入: {1,2,3,4,5,#,6,#,#,7} 返回值: 4 示例2 输入: {} 返原创 2022-04-08 23:42:40 · 775 阅读 · 0 评论 -
算法题解-判断一个链表中是否有环
知识点:链表,双指针 题目来源:nc4 描述:判断给定的链表中是否有环。如果有环则返回true,否则返回false。 数据范围:链表长度 0≤n≤100000 ,链表中任意节点的值满∣val∣<=100000 要求:空间复杂度 O(1),时间复杂度 O(n) 输入分为两部分,第一部分为链表,第二部分代表是否有环,然后将组成的head头结点传入到函数里面。-1代表无环,其它的数字代表有环。 示例1 输入: {3,2,0,-4},1 返回值: true 说明: 第一部分{3,2,0,-4}代表一个链表原创 2022-04-06 17:27:32 · 442 阅读 · 0 评论 -
算法题解-求最大公约数_辗转相除法
题目:如果有一个自然数 a 能被自然数 b 整除,则称 a 为 b 的倍数, b 为 a 的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。 算法思路:辗转相除算法可利用递推的思想实现,即对两数不断取模(的余数)并递推更新变量使a=b,b=余数,当余数为0时最大公约数便自然保留在变量a,并且算法无需判定a,b的大小关系,因为a,b的余数一定是小于等于min(a,b) 代码实现: int gcd(int a, int b) { while(原创 2022-03-31 18:49:31 · 358 阅读 · 0 评论
分享