LeetCode

[LeetCode] LeetCode373. 查找和最小的K对数字

题目描述 思路:大顶堆+翻转 注意:该题有问题,代码可以通过测试用例。 方法一: class Solution { public List<List<Integer>> kSmallestPairs(int[] nums1, int[] nums2, int k) { PriorityQueue<N ......
LeetCode 数字 373

[LeetCode138-链表-中等] 复制带有随机指针的链表

这道题是这样的,就是说有一个链表LindedNode, 通常我们链表包含2个属性,一个是它的值val,另一个是它指向的下一个结点nextNode, 但是这个题目中的链表还有一个属性,就是它还有个随机指针,这个随机指针可能指向链表中的任意结点(包括链表的结尾null结点,或者是自己) 也就是说这个链表 ......
指针 LeetCode 138

[LeetCode] LeetCode692. 前K个高频单词

题目描述 思路 注意是前K个高频单词,就是TopK问题,只能用小根堆找最大的K个元素啊,用大根堆找的就是最小的K个元素了 思路一: class Solution { public List<String> topKFrequent(String[] words, int k) { Map<Strin ......
LeetCode 单词 692

[LeetCode] LeetCode378. 有序矩阵中第K小的元素

题目描述 思路:Top-K问题 + 大顶堆 使用大顶堆求第K小的元素。 方法一: class Solution { public int kthSmallest(int[][] matrix, int k) { // 1. 使用大顶堆 PriorityQueue<Integer> heap = ne ......
LeetCode 矩阵 元素 378

[LeetCode] 2415. Reverse Odd Levels of Binary Tree

Given the root of a perfect binary tree, reverse the node values at each odd level of the tree. For example, suppose the node values at level 3 are [2 ......
LeetCode Reverse Binary Levels 2415

代码随想录算法训练营第天|LeetCode203.移除链表元素707.设计链表206.反转链表

LeetCode203.移除链表元素 ● 今日学习的文章链接和视频链接 代码随想录 (programmercarl.com) 题目链接 203. 移除链表元素 - 力扣(LeetCode) ● 自己看到题目的第一想法 之前做这道题时想的不是很清楚,浅看了一下代码随想录的思路,又重新写了一边。删除链表 ......
随想录 训练营 随想 算法 LeetCode

Leetcode_26 删除有序数组中的重复项

题目描述 给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过: 输 ......
数组 Leetcode 26

[LeetCode] LeetCode451. 根据字符出现频率排序

题目描述 思路:使用大顶堆 方法一: class Solution { public String frequencySort(String s) { // 1. HashMap统计词频 Map<Character, Integer> map = new HashMap<>(); for (char ......
LeetCode 字符 频率 451

[LeetCode] 2482. Difference Between Ones and Zeros in Row and Column

You are given a 0-indexed m x n binary matrix grid. A 0-indexed m x n difference matrix diff is created with the following procedure: Let the number o ......
Difference and LeetCode Between Column

[LeetCode] LeeCode703. 数据流中的第K大元素

题目描述 思路:最小堆 好好领悟这个代码: // 将nums数组所有元素插入小根堆中 for (int num : nums) { heap.offer(num); // 当小根堆的容量大于k时,就删除堆顶元素 if (heap.size() > k) heap.poll(); } 当heap.si ......
数据流 LeetCode 元素 LeeCode 数据

[LeetCode21-链表-简单] 合并2个有序列表

这个题目是这样的,就是说有两个链表,这两个链表按照非递减的顺序排列, 我们要把这两个升序的链表合并,返回一个新的升序链表,新链表要求拼接给定的2个链表的所有结点,也就是说如果有重复的结点,也要全部返回列在新链表中 1->2->4 1->3->5 =》 返回的是 1->1->2->3->4->5 首先 ......
LeetCode 21

代码随想录算法训练营第二天| LeetCode977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

LeetCode977.有序数组的平方 ● 今日学习的文章链接和视频链接 代码随想录 (programmercarl.com) 题目链接 977. 有序数组的平方 - 力扣(LeetCode) ● 自己看到题目的第一想法 昨天正好做了这道题目,总体来说就是用双指针法,要么从绝对值最小的数开始排序,要 ......
数组 随想录 训练营 矩阵 螺旋

[LeetCode] 2697. Lexicographically Smallest Palindrome

You are given a string s consisting of lowercase English letters, and you are allowed to perform operations on it. In one operation, you can replace a ......

leetcode 209. 长度最小的子数组

题目: 209. 长度最小的子数组 题目描述: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数 ......
数组 长度 leetcode 209

代码随想录算法训练营第一天| LeetCode704 二分查找、27移除元素

Leetcode704:二分查找 今日学习的文章链接: 代码随想录 (programmercarl.com) 题目链接: 704. 二分查找 - 力扣(LeetCode) ● 自己看到题目的第一想法 这题我会,但是还没明白卡尔说的循环不变量是什么意思。 我的固定思路就是,target比中间值大,左指 ......
随想录 训练营 随想 算法 LeetCode

[LeetCode] LeetCode92. 反转链表II

题目描述 思路:同LeetCode25. K个一组翻转链表 因为涉及到可能链表的头节点会改变,所以设置dummy节点 先走left - 1步到达left的左边一个节点 查看后面是否存在right - left + 1个节点 先翻转内部节点指向right - left次 再翻转外部节点 方法一: /* ......
LeetCode 92

【leetcode 239. 滑动窗口最大值】Java优先队列——PriorityQueue类

leetcode 239. 滑动窗口最大值 题目描述: 1e5大小的nums[]数组中长度为k(1<=k<=1e5)的窗口的最大值 题解: 暴力求解O(n^2)会超时,需要O(nlogn)的解法 使用大根堆优先队列维护窗口元素,每次取最大值复杂度降为O(1),堆结构维护复杂度O(logn) 问:如果 ......
最大值 队列 PriorityQueue leetcode Java

Leetcode刷题day12-二叉树.前中后序遍历

递归法实现前.中.后序遍历 代码随想录 (programmercarl.com) 解题思路 前序遍历:头->左->右 中序遍历:左->头->右 后序遍历:左->右->头 递归法实现流程:1.定义递归函数;2.寻找递归终止条件;3.设计单层递归模块 class Solution(): def __in ......
Leetcode day 12

Leetcode刷题day11-栈.滑窗最大值.出现次数前K的元素

239.滑动窗口最大值 239. 滑动窗口最大值 - 力扣(LeetCode) 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:nums = ......
最大值 Leetcode 元素 次数 day

[LeetCode Hot 100] LeetCode25. K个一组翻转链表

题目描述 思路: 判断链表中是否足够k个元素 再将这k个元素内部翻转一下 将前后端点连接的指针变化一下 方法一: /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next ......
LeetCode Hot 100 25

[LeetCode Hot 100] LeetCode148. 排序链表

题目描述 思路一:堆排序、小顶堆 定义一个最小堆 将链表的所有节点放入一个最小堆中 直接用队列弹出的最小值依次覆盖掉原链表的值 方法一: /** * Definition for singly-linked list. * public class ListNode { * int val; * L ......
LeetCode Hot 100 148

[LeetCode Hot 100] LeetCode138. 随机链表的复制

题目描述 思路一:添加"小弟" 根据遍历到的原节点创建对应的新节点,每个新创建的节点是在原节点后面。 原节点i的随机指针(如果有的话),指向的是原节点j,那么新节点i的随机指针,指向的是原节点j的next 最后将两个链表分开,再返回新链表就可以 思路二:使用哈希表 首先创建一个哈希表,再遍历原链表, ......
LeetCode Hot 100 138

[LeetCode Hot 100] LeetCode24. 两两交换链表中的节点

题目描述 思路: 创建dummy节点,令dummy.next = head。令cur表示当前到达的节点,初始时cur = dummy。每次需要交换cur后面的两个节点。 如果cur的后面没有节点或者只有一个节点,则没有更多的节点需要交换,因此结束交换。否则,获得cur后面的两个节点node1和nod ......
LeetCode 节点 Hot 100 24

LeetCode-总入口

LeetCode刷题整理 LeetCode-1-二叉树 LeetCode-2-动态规划 LeetCode-3-二分查找 LeetCode-4-BFS/DFS/回溯 LeetCode-5-双指针 LeetCode-10-位操作 10大排序算法+topK 链表操作 2021秋招-数据结构-栈、队列、数组 ......
LeetCode 入口

[LeetCode19-链表-中等] 删除链表的倒数第N个节点

这道题也是关于链表的题目,题目原意是这样的,给你一个链表,删除这个链表的倒数第n个结点,并返回头结点(也就是其余的结点组成的新链表) 比如 1->3->5->7->9 n =2 也就是删除倒数第2个结点,值为7的结点。返回头结点为 1->3->5->9 ......
节点 LeetCode 19

[ LeetCode ] 67. Add Binary

题目 Given two binary strings a and b, return their sum as a binary string. 思考 题外话:根据LeetCode premium的说法,这题是no.4最常被Facebook面试问到的题目 这题是二进制相加的问题 什么是二进制 二进 ......
LeetCode Binary Add 67

[LeetCode Hot 100] LeetCode155. 最小栈

题目描述 思路一:使用辅助栈 定义一个[数据栈]来支持push、pop、top操作 定义一个[辅助栈],其栈顶为当前的最小值,以支持常数时间复杂度的getMin操作 思路二:使用ArrayDeque 栈元素中除了保存当前值之外,额外保存当前最小值 使用静态内部类 方法一:对应思路一 class Mi ......
LeetCode Hot 100 155

Leetcode刷题day9-栈.队列-栈转队列.队列转栈

232.用栈实现队列 232. 用栈实现队列 - 力扣(LeetCode) 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop()  ......
队列 Leetcode day9 day

[LeetCode Hot 100] LeetCode20. 有效的括号

题目描述 思路: 栈的经典应用。 注意下遇到右括号的代码,即边界情况: // 遇到右括号,则进行括号匹配 if (!stack.isEmpty() && stack.peek() == match(c)) { // 如果匹配则直接弹出栈顶元素 stack.pop(); } else { // 如果不 ......
LeetCode 括号 Hot 100 20

[LeetCode Hot 100] LeetCode295. 数据流的中位数

题目描述 思路:一个大根堆+一个小根堆+保持数量 一个大根堆用来记录数轴左边的数值 一个小根堆用来记录数轴右边的数值 大根堆的容量要么等于小根堆的容量(此时是偶数个有序整数列表),要么大根堆的容量比小根堆的容量大1(此时是奇数个有序整数列表) 如果数量不符合上述条件,则将超过容量的那个堆的堆顶元素插 ......
LeetCode 中位数 数据流 数据 Hot
共1509篇  :4/51页 首页上一页4下一页尾页