LeetCode

[LeetCode Hot 100] LeetCode234. 回文链表

题目描述 思路1:将值复制到数组中然后使用双指针 计算链表的长度 创建等长的数组 将链表中的数依次放入数组中 使用左右指针判断链表是否是回文链表 时间复杂度:O(n) 空间复杂度:O(n) 思路2:快慢指针+反转链表 用快慢指针,快指针走两步,慢指针走一步,快指针遇到终止位置时,慢指针就在链表中间位 ......
LeetCode 回文 Hot 100 234

[LeetCode Hot 100] LeetCode206. 反转链表

题目描述 思路:双指针算法 方法一: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) ......
LeetCode Hot 100 206

[LeetCode Hot 100] LeetCode49. 字母异位词

题目描述 思路:哈希表 对字符串排序,如果是异位词,排序后就变成一样的了。 方法一: class Solution { public List<List<String>> groupAnagrams(String[] strs) { Map<String, List<String>> map = n ......
LeetCode 字母 Hot 100 49

[LeetCode Hot 100] LeetCode141. 环形链表

题目描述 思路:快慢指针 slow指针:每次移动一个节点 fast指针:每次移动两个节点 如果链表中存在环,fast指针最终会在某一时刻追上slow指针,这是由于移动速度快的fast指针会在某个时刻绕圈并追上速度慢的slow指针 条件 fast != null && fast.next != nul ......
LeetCode 环形 Hot 100 141

[LeetCode] 2264. Largest 3-Same-Digit Number in String

You are given a string num representing a large integer. An integer is good if it meets the following conditions: It is a substring of num with length ......
Same-Digit LeetCode Largest Number String

LeetCode-Java:55.跳跃游戏

题目 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 ......
LeetCode-Java LeetCode Java 55

面试leetcode算法经典 150 题

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

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

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

[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

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] 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 随想录 训练营 随想 算法

代码随想录算法训练营第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

[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

[LeetCode Hot 100] LeetCode11. 盛最多的水

题目描述 方法一:暴力,超出时间限制 模拟所有情况,记录最大的体积值。 体积 = Math.min(height[i], height[j]) * (j - i) class Solution { public int maxArea(int[] height) { int res = Intege ......
LeetCode Hot 100 11

【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 2949

[LeetCode Hot 100] LeetCode128. 最长连续序列

题目描述 思路 将数组所有点映射到一个数轴上,可以发现问题变为求每段区间首元素到尾元素的长度的最大值。 区间的长度:区间尾元素值-区间首元素值 + 1 方法一:超出时间限制 这个方法是最初自己想到的,但是超时了,主要原因是程序会有冗余的遍历过程,增加了开销。 思路:(时间复杂度太高) 先把所有元素加 ......
LeetCode 序列 Hot 100 128

Leetcode刷题day2-数组

977有序数组的平方 977. 有序数组的平方 - 力扣(LeetCode) 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平 ......
数组 Leetcode day2 day
共1509篇  :6/51页 首页上一页6下一页尾页