动态规划 —— 打家劫舍问题及其变式总结
2025-04-10
前言 除了爬楼梯类问题外,入门DP的另一大类即是打家劫舍问题。 198. 打家劫舍 740. 删除并获得点数 2320. 统计放置房子的方式数 1608 213. 打家劫舍 II 3186. 施咒的最大总伤害 1841 题单⬆️(0x3F总结版,特别鸣谢) 例题 :Leetcod
1780 字
|
9 分钟
C++ 中二分查找库函数
2025-04-10
函数简介 C++ 标准库中提供了三个和二分查找相关的函数,都定义在 头文件中,非常实用而且高效,下面是它们的功能和使用方法: ⸻ ✅ 1. binary search 判断某个元素是否存在于有序数组中 include bool found = binary search(nu
1071 字
|
5 分钟
西邮移动应用开发实验室二面题解
2025-04-04
B2110 找第一个只出现一次的字符 题目描述 给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出 no 。 输入格式 一个字符串,长度小于 11001100 1100 。 输出格式 输出第一个仅出现一次的字符,若没有则输出 no 。 输入输出样例 1
4621 字
|
23 分钟
链表完全版 C/C++(数组模拟/指针)
2025-03-28
数组模拟(可实现指针链表的所有功能,在算法题中效率更高) 结构体指针 有同学可能会问:什么是 head ,什么是 head ? 在Node head中,head是一个只想Node结构体的指针,他储存着链表头节点的地址, head 代表作着Node结构,也就是头节点本身。 如果he
1011 字
|
5 分钟
C++中常用库函数
2025-03-28
1. 字符串操作 C++ 提供了强大的字符串处理功能,尤其是在 std::string 类中,提供了许多非常方便的成员函数。下面是常见的字符串操作方法。 1.1. 创建和初始化字符串 1.2. 获取字符串长度 std::vector vec = {1, 2, 3, 4}; //
1346 字
|
7 分钟
Leetcode经典链表问题之反转链表
2025-03-22
206. 反转链表 力扣(LeetCode) 92. 反转链表 II 力扣(LeetCode) 反转链表2,只反转部分链表 关于哨兵节点 哨兵节点的作用 ✅ (1) 确保 m 1 位置正确连接 • 反转部分链表时,m 1 位置的节点需要正确指向反转后的 m 位置。 • 哨兵节点
585 字
|
3 分钟
巧妙的滑动窗口 -- leetcode1423
2025-03-16
题干 1423. 可获得的最大点数 几张卡牌 排成一行 ,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。 每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。 你的点数就是你拿到手中的所有卡牌的点数之和。 给你一个整数数组 car
530 字
|
3 分钟