leetcode 395 题目描述395. 至少有 K 个重复字符的最长子串给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。 示例 1: 123输入:s = "aaabb", k = 3输出:3解释:最长子串为 "aaa" ,其中 'a' 重复了 3 次。 解题思路 分治: 2023-02-28 leetcode #刷题
leetcode 978 题目描述978. 最长湍流子数组给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。 如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是 湍流子数组 。 更正式地来说,当 arr 的子数组 A[i], A[i+1], ..., A[j] 满足仅满足下列条件时,我们称其为湍流子数组: 若 1i <= k < j : 当 k 为奇数时, A[k] &g 2023-02-27 leetcode #刷题
leetcode 567 题目描述567. 字符串的排列给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。 换句话说,s1 的排列之一是 s2 的 子串 。 示例 1: 123输入:s1 = "ab" s2 = "eidbaooo"输出:true解释:s2 包含 s1 的排列之一 ("ba& 2023-02-27 leetcode #刷题
JVM 学习 经典面试题内存管理 介绍下 Java 内存区域(运行时数据区) (方法区、堆)线程共享,不安全 (栈、本地方法区、程序计数器)线程独享,安全 Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么)1. 对象的访问定位的两种方式(句柄和直接指针两种方式) 垃圾回收 如何判断对象是否死亡(两种方法)。 引用计数法 给对象中添加一个引用计数器 每当有一个地方引用它, 2023-02-22 Java #Java
leetcode 438 题目描述438. 找到字符串中所有字母异位词给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1: 12345输入: s = "cbaebabacd", p = "abc"输出: [0,6]解释:起始索引等于 0 的子串是 2023-02-21 leetcode #刷题
leetcode 1004 题目描述1004. 最大连续1的个数 III给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。 示例 1: 1234输入:nums = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到 1,最长的子数组长度为 6。 解题思路 滑窗,数 2023-02-21 leetcode #刷题
leetcode 424 题目描述424. 替换后的最长重复字符给你一个字符串 s 和一个整数 k 。你可以选择字符串中的任一字符,并将其更改为任何其他大写英文字符。该操作最多可执行 k 次。 在执行上述操作后,返回包含相同字母的最长子字符串的长度。 示例 1: 123输入:s = "ABAB", k = 2输出:4解释:用两个'A'替换为两个'B',反之亦然。 2023-02-21 leetcode #刷题
leetcode 219 题目描述219. 存在重复元素 II给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。 示例 1: 12输入:nums = [1,2,3,1], k = 3输出:true 解题思路 哈希表+滑动窗口 执 2023-02-20 leetcode #刷题
leetcode 3 题目描述3. 无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 123输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 解题思路 滑动窗口+哈希表:右指针前进条件,set中不包含right指向元素,否则左指针前进,并移除掉当前左指针指 2023-02-20 leetcode #刷题
leetcode 523 题目描述523. 连续的子数组和给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且 子数组元素总和为 k 的倍数。 如果存在,返回 true ;否则,返回 false 。 如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。0 始终视为 k 的一个倍数。 示例 1: 2023-02-20 leetcode #刷题