代码编织梦想

递归练习三(决策树)-爱代码爱编程

一、解题心得 当我们需要暴力搜索全部的解时可以考虑用递归,解决方法就是画出决策树,由于二叉树的性质可以知道二叉树的分支代表两种情况,此时如果画出所有情况就是画出了决策树,又由于树的遍历用的是递归,所以就可以遍历决策树来添加出所有的解。 二、例题 1、全排列 46. 全排列 - 力扣(LeetCode) 分析 全排列可以有两种方法 (1)按位解

od b卷 -爱代码爱编程

题目 一个分销公司只有一个boss,其有若干一级分销,一级分销又有若干二级分销,每个分销只有唯一的上级,分销规定:每个月下级分销需将自己的总收入(自己的+下级上交的)每满100元上交15元给自己的上级,现给出一组分销关系和

【leetcode+深度/广度优先搜索】841. 钥匙和房间 (dfs,bfs)_深度优先搜索习题-爱代码爱编程

leetcode-cn:leetcode面试75道精华:https://leetcode.cn/studyplan/leetcode-75/ 841.钥匙和房间:https://leetcode.cn/problems/ke

【c语言】使用递归实现 求 n 的 k 次方、实现 strlen 的功能_递归实现n的k次方-爱代码爱编程

目录 1、 使用递归实现 求 n 的 k 次方 2、使用递归实现 strlen 的功能 3、使用递归实现汉诺塔问题(君子作业) 4、定义一个函数将一个字符串从大到小排序 5、实现一个函数,用于检查一个字符串是否是回文字符串(正序和反序都相同) 6、 使用指针完成判断自己的主机存储多字节整数时,是大端存储还是小端存储 7、有一段文本,写一段

leetcode题练习与总结:反转链表-爱代码爱编程

一、题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0, 5

每日一练:递归-爱代码爱编程

1863. 找出所有子集的异或总和再求和 - 力扣(LeetCode) 题目要求: 一个数组的 异或总和 定义为数组中所有元素按位 XOR 的结果;如果数组为 空 ,则异或总和为 0 。 例如,数组 [2,5,6] 的 异或总和 为 2 XOR 5 XOR 6 = 1 。 给你一个数组 nums ,请你求出 nums 中每个 子集 的 异或总和 ,

lcr 026. 重排链表 02.07(二)-爱代码爱编程

给定一个单链表 L 的头节点 head ,单链表 L 表示为:  L0 → L1 → … → Ln-1 → Ln  请将其重新排列后变为: L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 输入: head = [1,2,3,4] 输出:

每日一练:递归-爱代码爱编程

LCR 081. 组合总和 - 力扣(LeetCode) 题目要求: 给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。 candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是不同的。  对于给

每日一练:递归-爱代码爱编程

LCR 079. 子集 - 力扣(LeetCode) 题目要求: 给定一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1

递归算法 分析json字符串,自制简易表达式_递归解析json字符串-爱代码爱编程

json实例 { "success": true, "code": 200, "message": "调用成功", "data": { "nodeResults": [{ "success": true, "result": { "success": true, "score

重生之我在21世纪学c++—函数与递归-爱代码爱编程

一、函数是什么? 相信我们第一次接触函数是在学习数学的时候,比如:一次函数 y = kx + b ,k 和 b 都是常数,给一个任意的 x ,就会得到一个 y 值。 其实在 C++ 语言中就引入了函数(function)的概念,有些翻译为:子程序(子程序这种翻译更加准确一些)。 函数就是一个完成某项特定的任务的一小段代码,这段代码是有特殊的写法和调用

学懂c语言(三十三):c语言 递归详解_c语言递归算法的流程图-爱代码爱编程

目录 一、C语言递归 1、语法格式 2、流程图 示例1:数的阶乘 示例2:斐波那契数列 二、递归的基本要素 三、递归的工作原理  四、递归的优势与劣势 五、递归的应用示例 六、递归与非递归(迭代)的比较 一、C语言递归 递归指的是在函数的定义中使用函数自身的方法。 1、语法格式 void recursion() {

递归——编程中的自我调用艺术_递归程序-爱代码爱编程

前言 递归广泛应用于计算机科学中的许多领域,例如数学,排序算法,树和图的遍历等。在实际编程中,递归可以帮助简化问题的解决方案,使代码更简洁和可读。 一、递归的概念 递归是一种算法或函数的编程技巧,它允许函数在其定义中调用自身。 递归中的递就是递推的意思,归就是回归的意思。 1. 递归举例 例如: #include <stdio.h&

leetcode题练习与总结:重排链表-爱代码爱编程

一、题目描述 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln - 1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 输入:head = [

贪心算法汇总-爱代码爱编程

1.贪心算法 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 如何能看出局部最优是否能推出整体最优 靠自己手动模拟,如果模拟可行,就可以试一试贪心策略,如果不可行,可能需要动态规划。 如何验证可不可以用贪心算法 最好用的策略就是举反例,如果想不到反例,那么就试一试贪心吧。 可有有同学认为手动模拟,举例子得出的结论不靠谱,想要严格的数学证

【leetcode hot100 回溯】组合、排列、子集、分割、n皇后、单词搜索、括号生成、电话号码的字母组合-爱代码爱编程

回溯 组合问题组合总和全排列子集分割回文串N皇后电话号码的字母组合单词搜索括号生成 组合问题 给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。 示例: 输入: n =

【leetcode: 912. 排序数组 + 归并排序】-爱代码爱编程

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家

【面试经典150 | 二叉树】翻转二叉树-爱代码爱编程

文章目录 写在前面Tag题目来源题目解读解题思路方法一:递归方法二:迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更……

普及组集训数据结构-爱代码爱编程

P1551 亲戚 - 洛谷 | 计算机科学教育新生态 并查集就是把所有相关联的量串成一串珠子,抽象来说就是: 把此类相关联的量当作节点,两个节点之间连接一条无向边,所形成的图  例题算法流程: 在此定义“族长”就是一个树的根节点,(树就是一个图); 1):刚开始时,每个人都各自成一个图,(集合) 2):若有两个人相连属于亲戚关系,则把

【树】-爱代码爱编程

写在前面   最近想复习一下数据结构与算法相关的内容,找一些题来做一做。如有更好思路,欢迎指正。 目录 写在前面一、场景描述二、具体步骤1.环境说明2.代码 写在后面 一、场景描述