冯廷鑫的日志
滑动窗口模版 滑动窗口模版
本篇文章着重解答什么算法题应该使用滑动窗口来解答,还有滑动窗口的难点在哪里? //模板 /* 滑动窗口算法框架 */ void slidingWindow(string s, string t) { Map<Cha
2023-03-27 冯廷鑫
最小覆盖子串 最小覆盖子串
给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量
2023-03-27 冯廷鑫
力扣热题100题-无重复字符的最长子串 力扣热题100题-无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2: 输
2023-03-27 冯廷鑫
力扣热题100题-两数相加 力扣热题100题-两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例
2023-03-25 冯廷鑫
力扣热题100题-二叉树的中序遍历 力扣热题100题-二叉树的中序遍历
给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root = [1,null,2,3]输出:[1,3,2]示例 2: 输入:root = []输出:[]示例 3: 输入:root = [1]输出:[1]
2023-03-23 冯廷鑫
力扣热题100题-对称二叉树 力扣热题100题-对称二叉树
给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3]输出:true示例 2: 输入:root = [1,2,2,null,3,null,3]输出:false 提示: 树中节
2023-03-22 冯廷鑫
力扣热题100题-二叉树的最大深度 力扣热题100题-二叉树的最大深度
给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9
2023-03-22 冯廷鑫
删除排序链表中的重复元素 II 删除排序链表中的重复元素 II
给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head = [1,2,3,3,4,4,5]输出:[1,2,5]示例 2: 输入:head = [1,1
2023-03-17 冯廷鑫
删除排序链表中的重复元素 删除排序链表中的重复元素
给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head = [1,1,2]输出:[1,2]示例 2: 输入:head = [1,1,2,3,3]输出:[1,2,
2023-03-17 冯廷鑫
力扣热题100题-买卖股票的最佳时机 力扣热题100题-买卖股票的最佳时机
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从
2023-03-15 冯廷鑫
只出现一次的数字3 只出现一次的数字3
给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。 示例 1: 输入:num
2023-03-06 冯廷鑫
只出现一次的数字2 只出现一次的数字2
题目描述: 给你一个整数数组 nums ,除某个元素仅出现一次外,其余每个元素都恰出现三次。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且不使用额外空间来解决此问题。 示例 1: 输入:nums = [2,2
2023-03-02 冯廷鑫
5 / 8