P1886 滑动窗口 /【模板】单调队列 题目思路:单调队列模版题,每次都输出队列中的第一个元素。以此维护队列中元素序号的单调性,得到结果。只是比较判断,时间复杂度很小。相等的值也要挤掉。最大值同理。 代码实现: #include<bits/stdc++.h>using namespace std;typedef long long ll;#define N 3000005
核心思想就是: 3, 4,2, 从2往左看过去,第一个最大的数是4,所以3没必要存; Trapping Rain Water 需要找到每个元素从左右两边看,左右两边第一个最大的元素,water 就是左右两边最大的最小值 - 当前的height;这样用单调递减栈,注意stack里面存的是index,用来求宽度的; class Solution {public int trap(int[] hei
Every day a Leetcode 题目来源:3250. 单调数组对的数目 I 解法1:记忆化搜索 题目输入一个数组nums。 假设有两个数组A和B,A递增,B递减,且 Ai + Bi = numsi 问有多少对(A,B)数组对。 解法: 代码: ## @lc app=leetcode.cn id=3250 lang=python3## [3250] 单调数组对
1117: Ready to declare 时间限制: 1 Sec 内存限制: 128 MB 提交: 358 解决: 41 [ 提交][ 状态][ 讨论版] 题目描述 Finally, you find the most good-looking girl... You are going to write a letter to her. But you a
在做帆软笔试的时候,最后一道题一直没想出来。 题目:在两个数组中选取 k 个元素,拼接一个最小数,并且要保证来自同一数组的元素顺序不发生改变。 搜索后发现是 LeetCode 321 拼接最大数的变形题,借此题学习一下。 402. 移掉 K 位数字(中等) 402. 移掉 K 位数字 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。 注意: n
单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。 给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。 public int monotoneIncreasingDigits(int n) {if(n<10){return n;}int len = String.valueOf(n).length();in
738.单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。 给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。 示例 1: 输入: n = 10输出: 9 示例 2: 输入: n = 1234输出: 1234 示例 3: 输入: n = 332输出: 299 思路 比较前后两个位上