关于双指针的快慢指针和左右指针的用法,可以参见前文 双指针技巧汇总,本文就解决一类最难掌握的双指针技巧:滑动窗口技巧。并总结出一套框架,可以保你闭着眼睛都能写出正确的解法。
滑动窗口框架概览滑动窗口算法技巧主要用来解决子数组问题,比如让你寻找符合某个条件的最长/最短子数组。
如果用暴力解的话,你需要嵌套 for 循环这样穷举所有子数组,时间复杂度是 O(N2)O(N^2):
123...
传染病防控问题描述R市正在进行传染病防控,R 市总共有 $n$ 个人。具体的,每个人有一个位置 $(x, y)$,现在已知有一个高风险人员,但未指明具体是谁。同时我们定义一个安全距离$k$,如果某个人和这个高风险人员的距离不超过$k$,那么这个人也将被列为高风险人员。为了减少防控对市民生活的影响,工作人员希望知道所有可能情况下最多的高风险人员数量。
两个人 $(x_1, y_1)$ 和 $(...
明明知道明天的面试大概率没有结果,为什么还是如此紧张呢?!
我什么时候才能有 offer 呢?????
每年的秋招都这么难吗????
为什么感觉今年的秋招异常艰难!!!!!!!
投了二百多,做了几十个笔试,却到现在只接到了两个面试,到底哪里有问题呢?????
还是学历的问题吗?????
我什么时候才能有个 offer 啊!!!!!
这世界这么多人有工作,多我一个又怎么了呢?!
题 1题目描述整数 1 ~ n,计算选择 k 个数能够获得多少积分。计分规则:初始积分为 0,对于被选取的整数 i,如果 i + 1 没选取,则积分加 1。
输入描述每个测试文件中包含多组测试数据。
第一行输入一个整数 T (1 ≤ T ≤ 10^5) 代表数据组数。
每组测试数据描述如下:
在一行上输入两个整数 n, k (1 ≤ n, k ≤ 10^12; k < n),含义和题...
急急急急急急急急急急急急急急急急急急急急急,我是急急国王,我很急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急急
1 哈希1. 两数之和123456789101112class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> hashMap = new HashMap<>(); for (int i = 0; i &l...
题 11234567891011121314151617181920212223242526272829import java.util.Scanner;public class Fibonacci { // 方法:计算斐波那契数列的第n项 public static int fibonacci(int n) { if (n == 0) ...
题 1题目描述:
小明在研究一个有趣的数组翻转操作问题,其中为了考虑均衡,他会同时翻转相邻的两个数。他有一个长度为 N 的数组 a[],并可以进行任意次数操作:选择相邻的两个数,翻转这两个数的符号,即将 a[i] 和 a[i+1] (0 ≤ i ≤ n-1) 的符号都翻转。符号翻转的意思是正数变负数,负数变正数,在程序中即 `num = -num`,也即数字中的取相反数;当然 0 ...
题 1题目描述给出两个整数 a, b,可以对其进行任意次加倍操作。每次操作可以令 a = 2 × a 或 b = 2 × b,目的是使得最终的 |a − b| 最小(a − b 的绝对值最小),输出最小绝对值。
输入描述每个测试文件均包含多组测试数据。
第一行输入一个整数 T (1 ≤ T ≤ 10^5),代表数据组数。
每组测试数据描述如下:在一行上输入两个整数 a, b (−10^9 ...
简历基本信息个人博客教育背景本科
专业软件工程
社团经历
成绩绩点
研究生阶段
研究方向ZSL
成绩绩点
项目经历基于知识图谱的数据智能分析
省级科研项目
作用
上传excel、csv数据自动生成图表
技术栈
SpringBoot
快速构建基础的后端羡慕
Redis
基于内存的高性能键值对存储
羡慕中负责Session存储、限流
RabbitMQ
时...