LeetCode

[LeetCode Hot 100] LeetCode84. 柱状图中最大的矩形

题目描述 思路:枚举+优化(单调栈) 先固定矩阵的高。 然后向左向右找到第一个比当前元素值小的元素,确定好左右边界。 对于元素2来说: 向左找到第一个比当前元素值小的元素:1的右边界 向右找到第一个比当前元素值小的元素:3的右边界 枚举每个元素的上边界,确定往左数最远到达哪个边界(即寻找左边第一个比 ......
LeetCode 矩形 Hot 100 84

『LeetCode』6. N 字形变换 Zigzag Conversion

题目描述 将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z字形排列。 比如输入字符串为"PAYPALISHIRING"行数为3时,排列如下: P A H N A P L S I I G Y I R 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNA ......
字形 Conversion LeetCode Zigzag

[LeetCode] 1496. Path Crossing

Given a string path, where path[i] = 'N', 'S', 'E' or 'W', each representing moving one unit north, south, east, or west, respectively. You start at t ......
LeetCode Crossing 1496 Path

『LeetCode』5. 最长回文子串 Longest Palindromic Substring

题目描述 给你一个字符串s,找到s中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案。 示例 2: 输入**:s = "cbbd" 输出:"bb" 提示: 1 <= s. ......

leetcode-88 合并两个有序数组

题目要求: 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 ......
数组 leetcode 两个 88

『LeetCode』4. 寻找两个正序数组的中位数 Median of Two Sorted Arrays

『1』合并两个正序数组 我的想法: 先借鉴归并排序的关键步骤将两个数组合并,然后根据数组长度是奇数还是偶数返回中位数。 实现代码: class Solution { // Using the Key Thinking of Merge Sort // M is the length of nums1 ......
中位数 数组 LeetCode 两个 Arrays

『LeetCode』3. 无重复字符的最长子串 Longest Substring Without Repeating Characters

『1』双指针算法 我的想法: 一般看到字符串子串问题想到用双指针解,看到字符串子序列问题想到用动态规划解。此题用双指针可以很快解题。 遍历字符串中的每个字符s.charAt[i], 对于每一个i,找到j使得双指针[j, i]维护的是以s.charAt[i]结尾的无重复字符的最长子串,长度为i - j ......

[LeetCode] 热题100

128 最长连续序列 public class Solution { public int longestConsecutive(int[] nums) { if (nums == null || nums.length == 0) return 0; int ans = 1; HashMap<In ......
LeetCode 100

Leetcode—矩阵置零

矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入: 输入:matrix = [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 示例 2: 输入:ma ......
矩阵 Leetcode

Leetcode 2521. 数组乘积中的不同质因数数目

https://leetcode.cn/problems/distinct-prime-factors-of-product-of-array/description/ 给你一个正整数数组 nums ,对 nums 所有元素求积之后,找出并返回乘积中 不同质因数 的数目。 注意: 质数 是指大于 1 ......
质因数 乘积 数组 数目 Leetcode

『LeetCode』2. 两数相加 Add Two Numbers

『1』迭代法 class Solution { // Iteration // N is the size of l1, M is the size of l2 // Time Complexity: O(max(M, N)) // Space Complexity: O(max(M, N)) if ......
LeetCode Numbers Add Two

『LeetCode』1. 两数之和 Two Sum

『1』暴力法 class Solution { // Brute Force // Time Complexity: O(n^2) // Space Complexity: O(1) public int[] twoSum(int[] nums, int target) { for (int i = ......
之和 LeetCode Two Sum

Leetcode 2507. 使用质因数之和替换后可以取到的最小值 优化前 优化后

https://leetcode.cn/problems/smallest-value-after-replacing-with-sum-of-prime-factors/description/ 给你一个正整数 n 。 请你将 n 的值替换为 n 的 质因数 之和,重复这一过程。 注意,如果 n ......
质因数 之和 Leetcode 2507

[LeetCode] LeetCode162. 寻找峰值

题目描述 思路:同LeetCode852.山脉数组的顶峰索引 注意:当nums数组只有一个元素的时候,这个元素就是顶元素 因为根据题目:nums[-1] = nums[n] = -∞ 方法一: class Solution { public int findPeakElement(int[] num ......
LeetCode 峰值 162

[LeetCode] LeetCode852. 山脉数组的顶峰索引

题目描述 思路:用二分进行排除不满足条件的元素,最后剩下的元素即为答案 往常我们使用「二分」进行查值,需要确保序列本身满足「二段性」:当选定一个端点(基准值)后,结合「一段满足 & 另一段不满足」的特性来实现“折半”的查找效果。 但本题求的是峰顶索引值,如果我们选定数组头部或者尾部元素,其实无法根据 ......
LeetCode 数组 顶峰 索引 852

[LeetCode Hot 100] LeetCode74. 搜索二维矩阵

题目描述 思路:二维矩阵坐标变换 + 二分查找 二维矩阵坐标变换: 只要知道二维数组的的行数m和列数n,二维数组的坐标 (i, j) 可以映射成一维的index = i * n + j;反过来也可以通过一维index反解出二维坐标 i = index / n,j = index % n。(n是列数) ......
LeetCode 矩阵 Hot 100 74

[LeetCode] 1362. Closest Divisors 最接近的因数

Given an integer num, find the closest two integers in absolute difference whose product equals num + 1 or num + 2. Return the two integers in any ord ......
因数 LeetCode Divisors Closest 1362

字符串篇(leetcode—最长公共前缀)

字符串 百度百科:字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s="a1a2···an"(n>=0)。它是编程语言中表示文本的数据类型。 常用函数 比较函数 C++、Python等支持运算符重载的语言——可以使用 == 来比较两个字符串 JAVA等不支持运算符重载——可 ......
前缀 字符串 字符 leetcode

Leetcode—旋转矩阵

48. 旋转图像 给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] ......
矩阵 Leetcode

Leetcode 71. 简化路径

https://leetcode.cn/problems/simplify-path/description/ 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当 ......
路径 Leetcode 71

[LeetCode22-中等-DFS] 括号生成

这道题考使用回溯(递归的一种)进行深度优先算法,题目是这样的 数字n代表生产括号的对数,写一个算法,返回所有有效的括号组合 比如 n =1 代表生成1对括号,显然答案就是 “()" n = 2, 代表生成2对括号, 答案就是"()()","(())" n=3 代表生成3对括号,答案就是 "((()) ......
括号 LeetCode DFS 22

[LeetCode] LeetCode81. 搜索旋转排序数组II

题目描述 思路:是lc33.搜索旋转排序数组的延伸,允许包含重复元素 起初: 当nums[left] <= nums[mid]时,区间[left,mid]有序 当nums[left] > nums[mid]时,区间[mid ,right]有序 但是这个题目当nums[left] == nums[mi ......
LeetCode 数组 81

[LeetCode Hot 100] LeetCode153. 寻找旋转排序数组中的最小值

题目描述 思路 如果数组翻转后又回到升序的情况,即nums[left] <= nums[right],则nums[left]就是最小值,直接返回。 如果数组翻转,需要找到数组中第二部分的第一个元素: 若 nums[left] <= nums[mid],说明区间 [left,mid] 连续递增,则最小 ......
LeetCode 数组 Hot 100 153

Leetcode 044. 通配符匹配

https://leetcode.cn/problems/wildcard-matching/description/ 给你一个输入字符串 (s) 和一个字符模式 (p) ,请你实现一个支持 '?' 和 '*' 匹配规则的通配符匹配: '?' 可以匹配任何单个字符。 '*' 可以匹配任意字符序列(包 ......
通配符 Leetcode 044

[LeetCode Hot 100] LeetCode35. 搜索插入位置

题目描述 思路 基础二分搜索模板 本质:找到第一个大于等于target的元素的下标 注意: 该题目不存在重复元素 存在一种特殊情况:target > nums的最大值,此时插入的位置正好是left的位置 方法一: class Solution { public int searchInsert(in ......
LeetCode 位置 Hot 100 35

[LeetCode Hot 100] LeetCode33. 搜索旋转排序数组

题目描述 思路 如果nums[left] <= nums[mid],则[left, mid]有序 如果nums[left] > nums[mid],则[mid,right]有序 方法一: class Solution { public int search(int[] nums, int targe ......
LeetCode 数组 Hot 100 33

[LeetCode Hot 100] LeetCode34.在排序数组中查找元素的第一个和最后一个位置

题目描述 思路: 二分查找之寻找左右侧边界 两个关键点:1. 数组有序;2. 时间复杂度O(log n) 方法一: class Solution { public int[] searchRange(int[] nums, int target) { if (nums.length == 0 || ......
LeetCode 数组 元素 位置 Hot

[LeetCode] LeetCode704. 二分查找

题目描述 思路 基础二分查找模板的考察。 方法一: class Solution { public int search(int[] nums, int target) { if (nums == null || nums.length == 0) return -1; int left = 0, ......
LeetCode 704

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

LeetCode242.有效的字母异位词 ● 今日学习的文章链接和视频链接 代码随想录 (programmercarl.com) 题目链接 242. 有效的字母异位词 - 力扣(LeetCode) ● 自己看到题目的第一想法 public boolean anagram(String s, Stri ......
随想录 之和 训练营 数组 交集

代码随想录算法训练营第四天| LeetCode24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07. 链表相交、142.环形链表II

LeetCode24. 两两交换链表中的节点 ● 今日学习的文章链接和视频链接 代码随想录 (programmercarl.com) 题目链接 24. 两两交换链表中的节点 - 力扣(LeetCode) ● 自己看到题目的第一想法 主要是把这个过程想清楚,链表交换的题目主要想明白要动几个指针,指针改 ......
节点 随想录 环形 训练营 随想
共1509篇  :3/51页 首页上一页3下一页尾页