随笔分类 -  数据结构与算法 / 递归

摘要:1.题目 题目地址(430. 扁平化多级双向链表 - 力扣(LeetCode)) https://leetcode.cn/problems/flatten-a-multilevel-doubly-linked-list/ 题目描述 你会得到一个双链表,其中包含的节点有一个下一个指针、一个前一个指针和 阅读全文
posted @ 2024-05-01 22:30 DawnTraveler 阅读(18) 评论(0) 推荐(0) 编辑
摘要:1.题目 题目地址(203. 移除链表元素 - 力扣(LeetCode)) https://leetcode.cn/problems/remove-linked-list-elements/ 题目描述 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val = 阅读全文
posted @ 2024-05-01 12:00 DawnTraveler 阅读(10) 评论(0) 推荐(0) 编辑
摘要:0.题目 问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。 输入格式 n,k 输出格式 一个整数,即不同的分法 样例输入 7 3 样例输出 4 数据规模和 阅读全文
posted @ 2024-04-26 23:45 DawnTraveler 阅读(66) 评论(0) 推荐(0) 编辑
摘要:1.题目 题目地址(LCR 126. 斐波那契数 - 力扣(LeetCode)) https://leetcode.cn/problems/fei-bo-na-qi-shu-lie-lcof/ 题目描述 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始 阅读全文
posted @ 2024-04-26 19:10 DawnTraveler 阅读(20) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 赦免战俘 题目背景 借助反作弊系统,一些在月赛有抄袭作弊行为的选手被抓出来了! 题目描述 现有 2n×2n(n10) 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵 阅读全文
posted @ 2024-01-26 23:01 DawnTraveler 阅读(21) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 【深基7.例7】计算阶乘 题目描述 求 n!,也就是 1×2×3×n。 挑战:尝试不使用循环语句(for、while)完成这个任务。 输入格式 第一行输入一个正整数 n。 输出格式 输出一个正整数,表示 n!阅读全文
posted @ 2024-01-26 22:24 DawnTraveler 阅读(44) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 2.题解 2.1 二分查找(递归实现) 思路 利用递归+二分查找实现对于目标数target索引位置(存在)或者插入位置的索引(不存在) 1.递归返回条件: left > right,在通过二分法寻找到最接近target的值nums[mid]依旧不等于target,也就是left == 阅读全文
posted @ 2024-01-26 21:44 DawnTraveler 阅读(24) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 1 输出:["()"] 提示: 1 阅读全文
posted @ 2024-01-23 15:49 DawnTraveler 阅读(4) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 2.题解 本题的方法被称为「快速幂算法」,有递归和迭代两个版本。这篇题解会从递归版本的开始讲起,再逐步引出迭代的版本。 当指数 n为负数时,我们可以计算 x^-n再取倒数得到结果,因此我们只需要考虑 n 为自然数的情况。 2.1 模拟(不推荐,时间复杂度过高) 思路 分为n>=0, n 阅读全文
posted @ 2024-01-21 12:53 DawnTraveler 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 题目地址(24. 两两交换链表中的节点 - 力扣(LeetCode)) https://leetcode.cn/problems/swap-nodes-in-pairs/ 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本 阅读全文
posted @ 2024-01-18 17:06 DawnTraveler 阅读(5) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,求第n个月的兔子总对数为多少? 2.题解 2.1 动态规划 思路 类似于爬楼梯的思路。 代码 class Solution { public: /** * 代码中的类名、方法名 阅读全文
posted @ 2023-12-20 17:19 DawnTraveler 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 12 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入:n = 3 阅读全文
posted @ 2023-12-14 17:50 DawnTraveler 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 示例 1: 输入:root = [1,2,3,4,5] 输出:3 解释:3 阅读全文
posted @ 2023-12-13 23:34 DawnTraveler 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root = [1,2,2,null,3,null,3] 输出:false 提示: 树中节点数目在范围 \([1, 100 阅读全文
posted @ 2023-12-13 23:12 DawnTraveler 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目介绍 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head = [1,2,2,1] 输出:true 示例 2: 输入:head = [1,2] 输出:false 提示: 链表中节 阅读全文
posted @ 2023-12-10 20:19 DawnTraveler 阅读(14) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 题目地址(206. 反转链表 - 力扣(LeetCode)) https://leetcode.cn/problems/reverse-linked-list/ 题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3, 阅读全文
posted @ 2023-10-28 16:21 DawnTraveler 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 给定一个二叉树的根节点 root ,返回 它的 后序 遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[3,2,1] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 提示: 树中节点数目在范围 [0, 1 阅读全文
posted @ 2023-10-26 20:29 DawnTraveler 阅读(17) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 给定一个二叉树的根节点 root ,返回 它的 前序 遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 提示: 树中节点数目在范围 [0, 1 阅读全文
posted @ 2023-10-26 18:54 DawnTraveler 阅读(4) 评论(0) 推荐(0) 编辑
摘要:1.题目介绍 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root = [1,null,2,3] 输出:[1,3,2] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 提示: 树中节点数目在范围 [0, 1 阅读全文
posted @ 2023-10-26 18:45 DawnTraveler 阅读(12) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示