双指针
移动零的思想
前缀和!
题目 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我…
题目 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3…
- 用数组前缀和之差来表示 子数组所有元素和的思想;
- 两数之和的思想
滑动窗口的思想精髓——动态边界维护
滑动窗口法,实际上就是双指针的一个变种。思路直接一遍过!
题目 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height = [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接…
在现代软件开发中,组件化开发和业务开发有着明显的区别。业务项目专注于解决具体的功能需求,而组件开发则更多关注提供通用的、可复用的功能模块,供多个项目引用和使用。具体项目通过 pom 依赖引入组件后,组件的配置和初始化通常需要与业务无缝对接,自动完成对象的注入和配置,使开发者无需手动处理复杂的初始化逻辑。 在这篇文章中,我们将以 动态线程池组件 为例…
题目 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你…