分类: 笔记

8 篇文章

239. 滑动窗口最大值
原题链接:239. 滑动窗口最大值 - 力扣(LeetCode) 这一题主要是固定滑动窗口,但是主要的难点就是在窗口内寻找最大值,如果用普通的依次搜索可以做,但是时间复杂度为O(n^2) 根据题目特性,可以采用双端队列,因为滑动窗口有进和出,且分布在两侧,刚好符合条件。 本题可以得出滑动窗口的一些标准的模板,看着还不错。 class Solutio…
560. 和为 K 的子数组
原题链接:560. 和为 K 的子数组 - 力扣(LeetCode) 这题需要用到前缀和,用完前缀和之后不应该去枚举左右两个端点,太低效 可以使用一个hashmap来同步记录,当前遍历到的下标前,有多少个tp-k,也就是有多少个子区间,这里需要注意s[0]也需要加入,区间和是构建成两个前缀和的差,s[0]加入map就是为了可能有的区间就是以第一个为…
438. 找到字符串中所有字母异位词
本题目主要是维护一个固定长度滑动窗口,进行异位判断,这里进行字符统计的时候很巧妙,是一个好思路。 class Solution { public List<Integer> findAnagrams(String s, String p) { List<Integer> ans = new ArrayList<>(); int&#…
3.无重复字符的最长子串
原题链接:3. 无重复字符的最长子串 - 力扣(LeetCode) 思路:暴力至少是O(n^2),对于子串问题,可以采用双指针,滑动窗口等方法 class Solution { public int lengthOfLongestSubstring(String s) { //map记录的是对应字符,最近出现的下标 HashMap<Chara…
42.接雨水
原题链接:42. 接雨水 - 力扣(LeetCode) 双指针优化思路: class Solution { public int trap(int[] height) { int n = height.length; //纪录某个节点左右最高的高度 int[] lHeight = new int[n]; int[] …
docker基本使用
#更新docker-compose.yml文件后,重新更新docker配置 docker-compose up -d 1.docker运行 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] • docker run:运行容器的命令。 • [OPTIONS]:可选参数,用于配置…
Linux基础指令
1.ls:列出当前目录中的文件夹和文件 2.pwd:显示当前工作路径 3.cd:切换工作目录 4.mkdir:创建新目录 5.rmdir:删除空目录 6.rm:删除文件或目录 rm file_name rm -r directory_name # 递归删除目录及其内容 7.cp复制文件或目录 cp source_file destination #…
linux端口转发——使用nftables实现
首先在服务器上开启端口转发: echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf 使其生效: sysctl -p /etc/sysctl.conf 确保安装nftables: # 选择对应系统 apt install nftables # 对于 Debian/Ubuntu yum insta…