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

摘要:1.题目介绍 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 阅读全文
posted @ 2023-10-27 18:11 DawnTraveler 阅读(111) 评论(0) 推荐(0)
摘要:1. 总结 在对链表进行操作时,一种常用的技巧是添加一个哑节点(dummy node),它的 next 指针指向链表的头节点。这样一来,我们就不需要对头节点进行特殊的判断了。 例如,如果我们要删除节点 y,我们需要知道节点 y 的前驱节点 x,并将 x 的指针指向 y 的后继节点。但由于头节点不存在 阅读全文
posted @ 2023-10-27 16:27 DawnTraveler 阅读(1365) 评论(0) 推荐(0)
摘要:1.题目介绍 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 阅读全文
posted @ 2023-10-27 16:19 DawnTraveler 阅读(119) 评论(0) 推荐(0)
摘要:1.题目介绍 矩形蛋糕的高度为 h 且宽度为 w,给你两个整数数组 horizontalCuts 和 verticalCuts,其中: \(\text{horizontalcuts [i] 是从矩形蛋糕顶部到第 i 个水平切口的距离}\) \(\text{verticalCuts [j] 是从赶形蛋 阅读全文
posted @ 2023-10-27 12:05 DawnTraveler 阅读(29) 评论(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 阅读(52) 评论(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 阅读(22) 评论(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 阅读(59) 评论(0) 推荐(0)
摘要:1.题目介绍 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数值是 阅读全文
posted @ 2023-10-25 13:07 DawnTraveler 阅读(21) 评论(0) 推荐(0)
摘要:1.题目介绍 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 示例 1: 输入:s = "()" 输出:true 示 阅读全文
posted @ 2023-10-25 11:41 DawnTraveler 阅读(22) 评论(0) 推荐(0)
摘要:1.题目介绍 给你一个下标从 0 开始的字符串 details 。details 中每个元素都是一位乘客的信息,信息用长度为 15 的字符串表示,表示方式如下: 前十个字符是乘客的手机号码。 接下来的一个字符是乘客的性别。 接下来两个字符是乘客的年龄。 最后两个字符是乘客的座位号。 请你返回乘客中年 阅读全文
posted @ 2023-10-25 10:59 DawnTraveler 阅读(20) 评论(0) 推荐(0)
摘要:1.题目介绍 2.题解(双指针) 参考文章: 作者:Krahets 链接:https://leetcode.cn/problems/container-with-most-water/solutions/11491/container-with-most-water-shuang-zhi-zhen- 阅读全文
posted @ 2023-10-22 13:32 DawnTraveler 阅读(14) 评论(0) 推荐(0)
摘要:1.题目介绍 2.题解 2.1 转换为字符串反转问题 1.使用to_string()转化为字符串+reverse()反转+stoi()转化为整数+try catch处理溢出 // // Created by trmbh on 2023-10-21. // #include <iostream> #i 阅读全文
posted @ 2023-10-21 21:33 DawnTraveler 阅读(14) 评论(0) 推荐(0)
摘要:1.题目介绍 2.题解 2.1 初版 思路 1.首先要去除前导的多余空格,无论是用循环遍历去除,还是用这里的s.find_first_not_of(' ');均可;如果保存了索引不需要多余处理,如果没有保存直接使用s.substr(firstNonSpace);进行截断。 2.考虑到可能为空串或者全 阅读全文
posted @ 2023-10-21 20:05 DawnTraveler 阅读(47) 评论(0) 推荐(0)