leetcode 55
[LeetCode Hot 100] LeetCode160. 相交链表
题目描述 思路 方法一: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = nu ......
[LeetCode] 1160. Find Words That Can Be Formed by Characters
You are given an array of strings words and a string chars. A string is good if it can be formed by characters from chars (each character can only be ......
代码随想录算法训练营第2天 | leetcode977、leetcode209、leetcode59
(本合集全部为Go语言实现) 相关文章链接:977题解 209题解 59题解 相关视频链接:977视频 209视频 59视频 Leetcode977 状态:按自定义排序策略的方式秒了。尝试使用双指针法,但是以为是需要原地进行操作,试了一下失败了 实现过程中的难点:需要明确的是对撞指针两者的平法比较时 ......
Leetcode刷题day4-链表.交换.删除.相交.环
24.两两交换链表中的节点 24. 两两交换链表中的节点 - 力扣(LeetCode) 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 ......
[LeetCode-双指针-中等] 盛最多水的容器
这道题主要是考双指针 题目大概是这样的,就是说给定一个长度为n的整数数组height, 代表Y轴上的n条垂线,其中,第i条线的两个端点是(i,0) 和 (i,height[i]) => 要在这n条垂线中找出其中的2条,使得它们和x轴共同构成的容器可以容纳最多的水 返回容器可以储存的最大水量 ......
Leetcode刷题day3-链表
203.移除链表元素 203. 移除链表元素 - 力扣(LeetCode) 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 ......
[LeetCode Hot] LeetCode283. 移动零
题目描述 方法一:时间复杂度O(n2) class Solution { public void moveZeroes(int[] nums) { for (int i = 0; i < nums.length; i ++) { // 指针i为0的时候停止 if (nums[i] == 0) { / ......
[LeetCode Hot 100] LeetCode11. 盛最多的水
题目描述 方法一:暴力,超出时间限制 模拟所有情况,记录最大的体积值。 体积 = Math.min(height[i], height[j]) * (j - i) class Solution { public int maxArea(int[] height) { int res = Intege ......
【leetcode 2949 统计美丽子字符串】
import java.util.HashMap; import java.util.Map; class Solution { public static void main(String[] args) { Solution solution = new Solution(); long ans ......
[LeetCode Hot 100] LeetCode128. 最长连续序列
题目描述 思路 将数组所有点映射到一个数轴上,可以发现问题变为求每段区间首元素到尾元素的长度的最大值。 区间的长度:区间尾元素值-区间首元素值 + 1 方法一:超出时间限制 这个方法是最初自己想到的,但是超时了,主要原因是程序会有冗余的遍历过程,增加了开销。 思路:(时间复杂度太高) 先把所有元素加 ......
Leetcode刷题day2-数组
977有序数组的平方 977. 有序数组的平方 - 力扣(LeetCode) 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平 ......
LeetCode数组刷题笔记1(python)
两数之和 1、if a in dict: 字典中in操作符的语法是key in dict(而非value.) 可以从“字典中key唯一而value可重复”的角度考虑。 2、enumerate函数 enumerate(iteration, start) 其中iteration为需要遍历的参数,如列表、 ......
一个算法笨蛋的11月leetCode刷题日记
时间 情况 2021年10月29日 时隔一年,第三次重做反转链表,又没做出来,太废了。 2021年11月1日 时隔两天,第四次重做反转链表,轻松写出 【21】合并两个有序链表(思路:想象两个有序链表,需要新建两个next指向头节点的空node,一个用于最后返回.next,一个用于接收最小的node) ......
【LeetCode】22. 括号生成
题目 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 1 输出:["()"] 提示: 1 <= ......
leetcode1:合并两个有序数组
题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 nu ......
1000多页!LeetCode刷题手册分享
这本手册确实是一部令人印象深刻的作品。(手册链接在文末!!!) 首先,内容充实是这本手册的一大亮点。它涵盖了广泛的算法和数据结构主题,包括数组、链表、树、图、排序算法、动态规划等等。每个主题都有详细的解释、示例代码和复杂度分析,帮助读者深入理解和掌握相关知识。此外,手册还提供了大量的习题和答案,供读 ......
Leetcode刷题day1-数组
数组是存放在连续内存空间上的相同类型数据的集合 数组下标都是从0开始 数组内存空间的地址是连续的 数据元素不能删除,只能覆盖 C++中二维数据中内存地址是连续的,Java中不连续 704.二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 n ......
Leetcode刷题day1-数组
数组是存放在连续内存空间上的相同类型数据的集合- 数组下标都是从0开始- 数组内存空间的地址是连续的- 数据元素不能删除,只能覆盖C++中二维数据中内存地址是连续的,Java中不连续 # 704.二分查找给定一个 `n` 个元素有序的(升序)整型数组 `nums` 和一个目标值 `target` , ......
[LeetCode] 1727. Largest Submatrix With Rearrangements
You are given a binary matrix matrix of size m x n, and you are allowed to rearrange the columns of the matrix in any order. Return the area of the la ......
[LeetCode] 1685. Sum of Absolute Differences in a Sorted Array
You are given an integer array nums sorted in non-decreasing order. Build and return an integer array result with the same length as nums such that re ......
[LeetCode-中等] 最长连续序列
这道题是这样的,给你一个没有排序的整形数组 intArr, 要求找出这个数组中数字连续的最长序列 (不要求序列元素在原数组中连续)的长度 需要写出一个时间复杂度为O(n)的算法 比如 intArr = [70,8,100,6,7,5] 应该返回4, 因为最长的数字连续序列是 [5,6,7,8] 它的 ......
LeetCode上分日志
上分日志 本日志开始于LC-SC:2006,记录自己上分的心路历程。 2023-11-27 练习记录 对字母串可执行的最大删除数(2102) 扣分后的最大得分(2106) 队列中可以看到的人数(2105) 会议室 III(2093) 心得 划分型DP、DP前缀后缀分解优化、单调栈、双堆模拟,2100 ......
LeetCode-Java:27.移除元素
题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回数值是整数,但 ......
LeetCode-Java:26.删除有序数组的重复项
题目 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 更改数 ......
LeetCode-Java:80.删除有序数组中的重复项 II
题目 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 说明: 为什么返回数值是整数,但输出的答案是数组呢? 请注意,输入数 ......
【11月LeetCode组队打卡】Task5--UnionFind
并查集 UnionFind 一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题 联通子图 最小生成树Kruskal算法 最近公共祖先LCA 不交集:没有重复元素的集合 合并Union:二变一 查询Find:确定元素所属集合,通常返回集合内的一个代表元素 实现思路 基 ......
Leetcode 373周赛
周赛链接:https://leetcode.cn/contest/weekly-contest-373/ 100139. 循环移位后的矩阵相似检查 不需要判断奇数还是偶数,题目要求最后两个矩阵是否相同,那么向左循环移动和向右循环移动意义是一样的 奇数行右移k次,$$a[i]==a[(i + k) % ......
leetcode hot100-03 移动零
移动零 地址:https://leetcode.cn/classic/problems/move-zeroes/description/ 难点: 在原数组的基础上进行移动 保持相对顺序思考过程: 思考过程: 一开始没有考虑顺序的问题 记录最后一个不是0的位置 从左遍历数据 如果为0 则将数据与最后一 ......
LeetCode 354. (经典问题) 俄罗斯套娃信封问题 (俄罗斯套娃模型 + 最长下降子序列
package leetcode; import java.util.Arrays; public class lec154 { /** * 首先是思路来源 : https://leetcode.cn/problems/russian-doll-envelopes/solutions/19681/z ......