题单专题

灵神算法题单——定长滑动窗口(进阶)

2134. 最少交换次数来组合所有的 1 II 断环成链+滑动窗口 思路先算出数组中1有多少,然后看这么长的窗口里0最少是多少,此时即为最少交换次数。 首先遍历算出1的数量k,然后用Insert拼接数组,从而实现循环。 然后双指针遍历数组,是0就ant++,如果窗口长度超了,缩一下j,当窗口建立完毕时更新mi class Solution {public:int minSwaps(ve

灵神算法题单——不定长滑动窗口(求最短最小)

209. 长度最小的子数组 class Solution {public:int minSubArrayLen(int target, vector<int>& nums) {int ant=0,mi=1000005;int q[100009];int hh=0,tt=-1;for(int i=0;i<nums.size();i++){q[++tt]=nums[i];ant+=nums[i

灵神算法题单:不定长滑动窗口

3. 无重复字符的最长子串 class Solution {public:int lengthOfLongestSubstring(string s) {int n=s.length(),ans=0,left=0;unordered_map<char,int> w;for(int i=0;i<n;i++){char c=s[i];while(w[c])w.erase(s[left++]);w[

算法基础精选题单 动态规划(dp)(区间dp)(个人题解)

目录 前言: 正文:   题单:【237题】算法基础精选题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 (nowcoder.com) NC50493 石子合并: NC50500 凸多边形的划分: NC235246 田忌赛马: NC13230 合并回文子串: NC16645 [NOIP2007]矩阵取数游戏: NC207781 迁徙

蓝桥杯2024国赛--备赛刷题题单

1.游戏(单调队列) 注意如果结果是分数,直接设置变量为double,最好不要使用把int类型乘1.0变成分数来计算。 #include <iostream>#include <queue>using namespace std;const int N=1e5+10;//滑动窗口大小为k,最大值为P,最小值为Q,K=P-Q//窗口个数为cnt=n-k+1//所有情况为all

力扣一周题单 - 1

Day1(数组) A.移动零 B. 第三大的数 C. 找到所有数组中消失的数字 D. 生命游戏 E.合并区间 Day2(链表) A.合并两个有序链表 B.环形链表 C.环形链表 II D. 回文链表 E. 删除链表的倒数第 N 个结点 Day3(搜索) A.相同的树 B.水壶问题 C.零钱兑换 D.N 皇后 Day4(树相关) A. 二叉树的最大深度 B.将有序数组转换为二叉搜索树

vj题单 Color the ball c 差分

题目链接:Problem - 1556 (hdu.edu.cn) 笔者思路:利用一维差分数组进行区间同时+1的操作,然后还原为一维前缀和数组 笔者答案: #include<stdio.h>int cut[100010];int main(){long N,a,b,i,k=1,j;scanf("%ld",&N);while(N!=0){for(i=1;i<=N;i++){scanf("%l

vj题单 P4552 [Poetize6] IncDec Sequence

思路: 一次操作:选一个区间[l, r],把这个区间的数都加1或者都减1,可以将求该数列的差分数组b然后来进行该操作 一次操作的两种种情况:(l可以等于r)1.b[l]+1 b[r+1]-12.b[l]-1 b[r+1]+1 Q1:至少多少次操作能使数列所有数都一样? 等价于:至少多少次操作可以使b[i](i != 1)等于0? 方案一: b[1]+1,b[i]-1 b[

GESP 四级题单(简单) • 附免费参考答案

GESP 四级题单 [GESP样题 四级] 绝对素数题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 参考答案 [GESP样题 四级] 填幻方题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 参考答案 [GESP202309 四级] 进制转换题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示参考答案 ★[G

状态压缩DP题单

P1433 吃奶酪(最短路) dp(i, s) 表示从 i 出发经过的点的记录为 s 的路线距离最小值 #include<bits/stdc++.h>#define int long longusing namespace std;const int N = 20;signed main(){ int n; cin >> n;vector<double>x(n + 1), y(n

二阶差分题单

原理 差分与前缀和互为逆运算,故将二阶差分数组进行两次前缀和操作得到结果。 下面我们用一个例子理解: 原差分数组 i0123456789a[i]1001000000 一次前缀和操作后的数组 i0123456789a[i]1112222222 两次前缀和操作后的数组 i0123456789a[i]12357911131517                 可以看到两次前缀和数组结果中,

剑指offer之牛客与力扣——前者分类题单中的题目在后者的链接

搜索 [4.12完成] JZ1 LCR 172. 统计目标成绩的出现次数 JZ3 153. 寻找旋转排序数组中的最小值 JZ4 LCR 014. 字符串的排列 JZ5 LCR 163. 找到第 k 位数字 = 400 动态规划 [4.15完成] JZ2 LCR 161. 连续天数的最高销售额 =53 JZ3 LCR 127. 跳跃训练 = 70 JZ4 LCR 126. 斐波那契数 JZ

2024 春招冲刺百题计划 题单

2024 春招冲刺百题计划 一、矩阵 54. 螺旋矩阵 class Solution {public List<Integer> spiralOrder(int[]</

【算法 | 背包专题】01背包(解题思路+题单)

前言 什么是背包问题? 背包问题是一种经典的组合优化问题,它的核心思想是在有限的资源(如背包的容量)下,如何选择物品以达到某种目标(如最大价值)的最优解。 背包问题可以分为几种类型,其中最常见的有: 0/1背包问题:每个物品只能选择放入或不放入背包,不能分割。完全背包问题:每种物品可以选择无限个,但每件物品只能选择一次。多重背包问题:每种物品可以选择多个,且没有数量限制。 解决方法也有很

【算法 | 背包专题】01背包(状态定义+状态转移+解题流程+题单)

前言 什么是背包问题? 背包问题是一种经典的组合优化问题,它的核心思想是在有限的资源(如背包的容量)下,如何选择物品以达到某种目标(如最大价值)的最优解。 背包问题可以分为几种类型,其中最常见的有: 0/1背包问题:每个物品只能选择放入或不放入背包,不能分割。完全背包问题:每种物品可以选择无限个,但每件物品只能选择一次。多重背包问题:每种物品可以选择多个,且没有数量限制。 解决方法也有很

牛客 2024春招冲刺题单 ONT98 牛牛猜节点【中等 斐波那契数列 Java,Go,PHP】

题目 题目链接: https://www.nowcoder.com/practice/6a3dfb5be4544381908529dc678ca6dd 思路 斐波那契数列 参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param first

【题单】 往届 CSP/j 题目(洛谷)

这里写目录标题 updata20232022202120202019 updata 2024.04.04 14:35 发布该文章 2023 P9748 [CSP-J 2023] 小苹果 P9749 [CSP-J 2023] 公路 P9750 [CSP-J 2023] 一元二次方程 P9751 [CSP-J 2023] 旅游巴士 2022 P8816 [CSP-J 20

灵神DP题单---划分型 DP---§6.1 判定能否划分

这里的状态定义一般使用DP【i】 表示 考虑前i个东西能否满足条件,然后我们枚举上一次的转移位置就好了 2369. 检查数组是否存在有效划分 需要注意的是我习惯从1开始写,所以要处理好边界的下标问题 class Solution {public:bool validPartition(vector<int>& nums) {int n = nums.size();v

力扣题单(小白友好)

力扣题单 算法小白自用题单,目前对于一些简单的数据结构感觉掌握的还可以,但是力扣很多题还是需要看题解,不够熟练;故整理了一份题单,用于巩固练习; 网上确实有很多对于算法分类讲解的网站,but:有一丢丢选择困难症,每天不知道该刷什么题,再加上网站对于一类题一般就有十几道题目,太多了…小白一天根本刷不完而且打开力扣总是会被讨论吸引…😥 如果你也是算法小白,也可以跟着题单一起刷刷刷哦🎯🎯

【LeetCode】SQL题单 持续更新......

文章目录 说明175 组合两个表176 第二高的薪水177 第N高的薪水178 分数排名180 连续出现的数字181 超过经理收入的员工182 查找重复的电子邮箱183 从不订购的客户184 部门工资最高的员工185 部门工资前三高的所有员工196 删除重复的电子邮箱197 上升的温度595 大的国家596 超过5名学生的课620 有趣的电影626 换座位627 变更性别1322 广告效果1

算法题目题单+题解——图论

简介 本文为自己做的一部分图论题目,作为题单列出,持续更新。 题单由题目链接和题解两部分组成,题解部分提供简洁题意,代码仓库:Kaiser-Yang/OJProblems。 对于同一个一级标题下的题目,题目难度尽可能做到递增。 搜索/BFS/DFS Luogu P3547 [POI2013] CEN-Price List 题目链接:Luogu P3547 [POI2013] CEN

【LYZS2024寒假训练】 第二周题单总结与分析

数据结构是计算机科学的一个核心领域,它研究如何高效地组织和存储数据以便访问和修改。这包括数组、链表、栈、队列、哈希表、树、图等结构。选择合适的数据结构对于解决特定问题和优化算法性能至关重要。 基础知识指路: 【期末复习】数据结构 注:本次讲解题目为题单中难度为“普及− ”、“普及/提高− ”的题目,其它题目的讲解请私聊博主。 目录 一、普及- 二、普及/提高- 一、普及-

[M单调栈] lc2866. 美丽塔 II(单调栈+前后缀分解+经典好题+题单)

文章目录 1. 题目来源2. 题目解析 1. 题目来源 链接:2866. 美丽塔 II 关联: 关联博文:[M枚举] lc2865. 美丽塔 I(枚举+前后缀分解+题单)超高质量题解:[Java/Python3/C++]前后缀和+单调栈:以每个最大高度为峰值构造美丽塔【图解】 2. 题目解析 很有质量的一道题目了,难度应该评定低了…2000 分的题目。 承接上题,如果

【Leetcode题单】(01 数组篇)刷题关键点总结04【二维数组及滚动数组】

【Leetcode题单】(01 数组篇)刷题关键点总结04【二维数组及滚动数组】(5题) 二维数组及滚动数组118. 杨辉三角 Easy119. 杨辉三角 II Easy661. 图片平滑器 Easy598. 范围求和 II Easy419. 甲板上的战舰 Medium 大家好,这里是新开的LeetCode刷题系列,以后尽量一天更新一个小章节。此系列应超过400题。 数组篇04

【Leetcode题单】(01 数组篇)刷题关键点总结03【数组的改变、移动】

【Leetcode题单】(01 数组篇)刷题关键点总结03【数组的改变、移动】(3题) 数组的改变、移动453. 最小操作次数使数组元素相等 Medium665. 非递减数列 Medium283. 移动零 Easy 大家好,这里是新开的LeetCode刷题系列,以后尽量一天更新一个小章节。此系列应超过400题。 数组篇03《数组的改变、移动》,共3道题,1简单题2中等题。 注意

【Leetcode题单】(01 数组篇)刷题关键点总结03【数组的改变、移动】

【Leetcode题单】(01 数组篇)刷题关键点总结03【数组的改变、移动】(3题) 数组的改变、移动453. 最小操作次数使数组元素相等 Medium665. 非递减数列 Medium283. 移动零 Easy 大家好,这里是新开的LeetCode刷题系列,以后尽量一天更新一个小章节。此系列应超过400题。 数组篇03《数组的改变、移动》,共3道题,1简单题2中等题。 注意