摘要: 53. 最大子数组和 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 思路: 动态规划,dp数组记录每个子数组的的和 状态转移:前面子数组的和加上下一个元素(若卡面子数组和为负数则不加)就是这个子数组的和 代码: class Solutio 阅读全文
posted @ 2025-06-05 18:12 xloading 阅读(26) 评论(0) 推荐(0)
摘要: 3. 无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 思路: 使用滑动窗口表示子串区间,要保证窗口中没有重复元素 借助一个map记录已经出现过的元素和其位置。初始化窗口边界,右边界向后遍历并记录达到的最长窗口长度,当遇到重复元素,则把左边界移动到重复元 阅读全文
posted @ 2025-06-03 23:09 xloading 阅读(9) 评论(0) 推荐(0)
摘要: 第454题.四数相加II 力扣题目链接 基本思路 要求的是有多少个组合满足,最坏循环遍历四个;最好分成两组,把一组a+b的和放到map的key,和出现的次数作为value,计算另一组,如果 0-(c+d) 在map中出现过的话,就用count把map中key对应的value也就是出现次数统计出来 方 阅读全文
posted @ 2024-12-12 10:23 xloading 阅读(10) 评论(0) 推荐(0)
摘要: 判断一个元素是否出现过的场景 242.有效的字母异位词 力扣题目链接 基本思路 用record数组记录字符串出现过的字母,遍历第一个字符串增加数组对应位置的值,遍历第二个字符串减少数组对应位置的值。最终如果数组所有位置为0,则说明两个字符串是字母异位词。 方法代码 class Solution { 阅读全文
posted @ 2024-12-09 16:30 xloading 阅读(18) 评论(0) 推荐(0)
摘要: 24. 两两交换链表中的节点 力扣题目链接 基本思路 迭代,注意指针模拟操作,定义虚拟头节点用来指向链表 递归 迭代 class Solution { public ListNode swapPairs(ListNode head) { ListNode dummy = new ListNode(0 阅读全文
posted @ 2024-12-05 22:43 xloading 阅读(28) 评论(0) 推荐(0)
摘要: 构造链表 public class ListNode { // 结点的值 int val; // 下一个结点 ListNode next; // 节点的构造函数(无参) public ListNode() { } // 节点的构造函数(有一个参数) public ListNode(int val) 阅读全文
posted @ 2024-12-04 21:07 xloading 阅读(23) 评论(0) 推荐(0)
摘要: 977.有序数组的平方 力扣题目链接 基本思路 暴力解法,先全部平方,然后排序 双指针法,由于原本数组是有序的,从负数到正数,平方之后最大数只会出现在两端的位置。考虑设置一个新数组存放排序后的元素,利用相向指针判断选择要把哪个元素先放入新数组。 暴力排序 class Solution { publi 阅读全文
posted @ 2024-12-03 10:55 xloading 阅读(14) 评论(0) 推荐(0)
摘要: 704. 二分查找 力扣题目链接 基本思路 设定左右边界,找到中间值,根据中间值判断目标元素所在范围,更新边界。 二分法(左闭右闭) class Solution { public int search(int[] nums, int target) { int left = 0; int righ 阅读全文
posted @ 2024-12-03 09:26 xloading 阅读(11) 评论(0) 推荐(0)
摘要: java中int整形最大值:int value = Integer.MAX_VALUE charAt()方法用于返回字符串指定索引处的字符。索引范围为从 0 到 length() - 1。 s.length()返回字符串s的长度 substring()方法返回字符串的子字符串。public Stri 阅读全文
posted @ 2023-12-19 20:10 xloading 阅读(9) 评论(0) 推荐(0)
摘要: 一些IDEA操作参考记录 快捷键 阅读全文
posted @ 2023-12-13 16:57 xloading 阅读(10) 评论(0) 推荐(0)