Never Settle
Effect C++
Effect C++
发表于
2025-01-30
|
更新于
2025-02-07
|
C++
|
浏览量:
|
评论数:
1.Item 1: Understand the Basics
1.1 指针和引用
文章作者:
Jatpeng
文章链接:
https://jatpeng.github.io/2025/01/30/20250130-Effect_C++/
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来源
Never Settle
!
C++
上一篇
20250124_深度优先遍历问题
深度优先遍历问题问题描述二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 解题思路 基本概念 二叉树的深度是从根节点到最远叶子节点的路径上的节点数 叶子节点是指没有子节点的节点 空节点的深度为 0 递归思路 一个节点的最大深度 = max(左子树深度, 右子树深度) + 1 递归的终止条件:当节点为空时,返回 0 DFS(深度优先搜索)过程 123456对于每个节点:├── 如果节点为空│ └── 返回 0├── 递归计算左子树的深度├── 递归计算右子树的深度└── 返回 max(左子树深度, 右子树深度) + 1 示例分析 1234567891011121314例如对于树: 3 / \ 9 20 / \ 15 7计算过程:1. 节点3的深度 = max(节点9的深度, 节点20的深度) + 12. 节点9的深度 = max(0, 0) + 1 = 13. 节点20的深度 = max(节点15的深度, 节点7的深度) + 14. 节点15和7的深度都是 15. 所以节点20的深度是 26....
下一篇
LeetCode 219 - 存在重复元素 II
题目描述给你一个整数数组 nums 和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,满足: nums[i] == nums[j] abs(i - j) <= k 解题思路1. 滑动窗口 + 集合使用大小为 k 的滑动窗口和集合来解决: 维护一个最大长度为 k 的集合 遍历数组,对于每个元素: 如果当前元素在集合中已存在,返回 true 将当前元素加入集合 如果集合大小超过 k,移除最早加入的元素 2. 代码实现123456789def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool: num_set = set() for i in range(len(nums)): if nums[i] in num_set: return True num_set.add(nums[i]) if len(num_set) > k: ...
评论
Jatpeng
Never Settle
文章
31
标签
19
分类
5
Follow Me
公告
欢迎来到我的博客!
这里会分享一些编程、游戏开发和生活感悟。
目录
1.
1.Item 1: Understand the Basics
1.1.
1.1 指针和引用
最新文章
20250428-工作总结
2025-04-28
20250428-UE4渲染流程
2025-04-28
UE5 GamePlayCamara
2025-04-19
leetcodek-avoiding数组的最小总和
2025-03-26
20250306-帕鲁感悟.md
2025-03-06