数组leetcode 2460

面试leetcode算法经典 150 题

数组、字符串 1.合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由 ......
算法 leetcode 经典 150

Day10 数组

1. 数组声明 //方法一:首选 dataType[] arrayName; //方法二:非首选,像c++ dataType arrayName[]; 2. 数组创建 2.1 动态初始化 //不初始化,大小自行决定 dataType[] array = new dataType[arraySize] ......
数组 Day 10

除自身以外数组的乘积

题解模板 难度 : 简单 | 中等√ | 困难 用时:28分钟(第一次) 作题日期:2023-12-04 ps: 本人理解有限,以下是自我理解,官方和大佬有更完整和详细的解析!!! 题目描述 题目描述给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中 ......
乘积 数组

秦疆的Java课程笔记:55 数组 数组的使用

一些基础用法,其中增强for循环其实就是“For-Each循环” public class ArrayDemo1 { public static void main(String[] args) { int[] arrays = {1,2,3,4,5}; //打印全部的数组元素 for (int i ......
数组 课程 笔记 Java

秦疆的Java课程笔记:54 数组 下标越界及小结

数组的四个基本特点: 其长度是确定的。数组一旦被创建,他的大小就是不可改变的。 其元素必须是相同类型,不允许出现混合类型。 数组中的元素可以是任何数据类型,包括基本类型和引用类型。 数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是 ......
下标 数组 小结 课程 笔记

秦疆的Java课程笔记:53 数组 三种初始化及内存分析

Java内存分析: 当声明数组int[] array = null时,只在栈中存在一个名为array的数组。当创建数组array = new int[3]时,在堆中开辟了一个存在3个int数据的空间。当给元素赋值时,堆中的每一个int类型获得了一个自己的值。 “下标越界异常”报错java.lang. ......
数组 内存 课程 笔记 Java

秦疆的Java课程笔记:51-52 数组 什么是数组&数组的声明和创建

51 什么是数组 数组是入门阶段的最后部分。 数组的定义: 数组是相同类型数据的有序集合。 数组描述的是相同类型的若干数据,按照一定的先后次序排序组合而成。 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。 52 数组的声明和创建 首先必须声明数组变量,才能在程序中使用数组 ......
数组 课程 笔记 Java amp

代码随想录算法训练营第五天| 242.有效的字母异位词 349. 两个数组的交集 1. 两数之和

LeetCode 242.有效的字母异位词 题目链接: LeetCode242 思路: 使用C++自带的库函数,经过排序后进行比较(使用库函数) class Solution { public: bool isAnagram(string s, string t) { if(s.length() ! ......
随想录 之和 训练营 数组 交集

差分数组

一、差分定义和性质 首先差分主要是针对一个数组中的元素进行频繁的增加或删除。假设现在有一个数组nums,现在我要对里面的某个区间的元素全部加2, 然后要对另外一个区间全部减1。一般的思路是直接for循环进行遍历,这样的话时间复杂度是O(n),而我们使用差分数组的话时间复杂度为O(1)。 对于一个数组 ......
数组

[LeetCode Hot 100] LeetCode3. 无重复字符的最长子串

题目描述 思路:滑动窗口 定义需要维护的变量 // 1. 定义需要维护的变量 int max_len = 0; Map<Character, Integer> hashmap = new HashMap<>(); 窗口不满足条件,窗口收缩。窗口不是固定大小所以用while // 4. 窗口不满足条件 ......
LeetCode LeetCode3 字符 Hot 100

LeetCode643. 子数组最大平均数I

题目描述 思路:滑动窗口模板 定义需要维护的变量 // 1. 定义需要维护的变量 double sum = 0; double max_avg = Integer.MIN_VALUE; 窗口固定大小为k,所以用if if (end - start + 1 == k) { sum -= nums[st ......
平均数 数组 LeetCode 643

[LeetCode Hot 100] LeetCode438. 找到字符串中所有字母异位词

题目描述 思路:滑动窗口模板 需要维护的变量: // 1. 用于存放结果 List<Integer> res = new ArrayList<>(); // 2. 定义需要维护的变量:根据题意可知是一个哈希表 Map<Character, Integer> map = new HashMap<>() ......
LeetCode 字符串 字母 字符 Hot

LeetCode567. 字符串的排列

题目描述 思路:滑动窗口模板 定义需要维护的变量 Map<Character, Integer> map = new HashMap<>(); Map<Character, Integer> map_s1 = new HashMap<>(); for (char c : s1.toCharArray ......
字符串 字符 LeetCode 567

[LeetCode] 1266. Minimum Time Visiting All Points

On a 2D plane, there are n points with integer coordinates points[i] = [xi, yi]. Return the minimum time in seconds to visit all the points in the ord ......
LeetCode Visiting Minimum Points 1266

Leetcode刷题day4-哈希表.异位词.交集.快乐数.两数和

242.有效的字母异位词 242. 有效的字母异位词 - 力扣(LeetCode) 给定两个字符串 _s_ 和 _t_ ,编写一个函数来判断 _t_ 是否是 _s_ 的字母异位词。 注意: 若 _s_ 和 _t_ 中每个字符出现的次数都相同,则称 _s_ 和 _t_ 互为字母异位词。 示例 1: 输 ......
交集 Leetcode day4 day

LeetCode-Java:121. 买卖股票的最佳时机

题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 ......
LeetCode-Java 时机 LeetCode 股票 Java

LeetCode-Java:122. 买卖股票的最佳时机Ⅱ

题目 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获得的 最大 利润 。 示例 1: 输入:prices = [7, ......
LeetCode-Java 时机 LeetCode 股票 Java

[LeetCode Hot 100] LeetCode1. 两数之和

题目描述 思路: 如果哈希表存在target-nums[i],则返回索引下标i和对应的key值(可以按任意顺序返回答案) 如果哈希表中不存在target-nums[i],则存入nums[i]和对应的索引值 方法一:哈希表 class Solution { public int[] twoSum(in ......
LeetCode 之和 LeetCode1 Hot 100

代码随想录算法训练营第4天 | leetcode24、leetcode19、leetcode面试题02

(本合集全部为Go语言实现) 相关文章链接:24题解 19题解 02.07题解 142题解 相关视频链接: Leetcode24 状态:秒了 实现过程中的难点:对组内两个节点的指针指向流转需要倒腾明白。临时头结点真的很有用 个人写法 func swapPairs(head *ListNode) *L ......
leetcode 随想录 训练营 随想 算法

ABC 331 F - Palindrome Query(字符串哈希,树状数组)

字符串哈希 [OI-Wiki](字符串哈希 - OI Wiki (oi-wiki.org)) 分为两种哈希方式:以左为高位 和 以右为高位 如果只是快速查询每个字串的哈希值,用以左为高位比较简单,即 \[Hash[l...r]=Hash[1...r]-Hash[1...(l-1)]\times ba ......
数组 字符串 Palindrome 字符 Query

代码随想录算法训练营第3天 | leetcode203、leetcode707、leetcode206

(本合集全部为Go语言实现) 相关文章链接:203题解 707题解 206题解 相关视频链接: Leetcode203 状态:秒了 实现过程中的难点:链表遍历一定要记得指针后移。另外,在头指针前加入一个新的临时头节点可以统一整个遍历过程,否则需要先确定初始时两指针的状态 个人写法 /** * Def ......
leetcode 随想录 训练营 随想 算法

[LeetCode Hot 100] LeetCode15. 三数之和

题目描述 思路 特判:对于数组长度为n,如果数组为null或者数组长度小于3,返回[]。 对数组进行排序。 遍历排序后的数组: 若 nums[i]>0nums[i]>0nums[i]>0:因为已经排序好,所以后面不可能有三个数加和等于 000,直接返回结果。 对于重复元素:跳过,避免出现重复解。 令 ......
LeetCode 之和 Hot 100 15

[LeetCode Hot 100] LeetCode160. 相交链表

题目描述 思路 方法一: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = nu ......
LeetCode Hot 100 160

2302. 统计得分小于 K 的子数组数目(双指针,贡献法,子数组问题)

枚举子数组问题,常见有固定一个点,枚举另一个端点,还有枚举中间点。 本题使用双指针算法,对右端点进行枚举,每次累加[l, r]区间内,所有以右端点为结尾的子数组对答案的贡献度,也就是长度 r- l + 1 class Solution: def countSubarrays(self, nums: ......
数组 指针 数目 得分 贡献

[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 ......
Characters LeetCode Formed Words 1160

代码随想录算法训练营第2天 | leetcode977、leetcode209、leetcode59

(本合集全部为Go语言实现) 相关文章链接:977题解 209题解 59题解 相关视频链接:977视频 209视频 59视频 Leetcode977 状态:按自定义排序策略的方式秒了。尝试使用双指针法,但是以为是需要原地进行操作,试了一下失败了 实现过程中的难点:需要明确的是对撞指针两者的平法比较时 ......
leetcode 随想录 训练营 随想 算法

Leetcode刷题day4-链表.交换.删除.相交.环

24.两两交换链表中的节点 24. 两两交换链表中的节点 - 力扣(LeetCode) 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 ......
Leetcode day4 day

[LeetCode-双指针-中等] 盛最多水的容器

这道题主要是考双指针 题目大概是这样的,就是说给定一个长度为n的整数数组height, 代表Y轴上的n条垂线,其中,第i条线的两个端点是(i,0) 和 (i,height[i]) => 要在这n条垂线中找出其中的2条,使得它们和x轴共同构成的容器可以容纳最多的水 返回容器可以储存的最大水量 ......
指针 容器 LeetCode

Leetcode刷题day3-链表

203.移除链表元素 203. 移除链表元素 - 力扣(LeetCode) 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 ......
Leetcode day3 day

[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 283