I am ne zha / Jeskson

Results 398 issues of I am ne zha / Jeskson

# [39\. 组合总和](https://leetcode.cn/problems/combination-sum/) ## Description Difficulty: **中等** Related Topics: [数组](https://leetcode.cn/tag/array/), [回溯](https://leetcode.cn/tag/backtracking/) 给你一个 **无重复元素** 的整数数组 `candidates` 和一个目标整数 `target` ,找出 `candidates` 中可以使数字和为目标数 `target` 的 _所有 _**不同组合** ,并以列表形式返回。你可以按 **任意顺序** 返回这些组合。 `candidates` 中的 **同一个**...

# [34\. 在排序数组中查找元素的第一个和最后一个位置](https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/) ## Description Difficulty: **中等** Related Topics: [数组](https://leetcode.cn/tag/array/), [二分查找](https://leetcode.cn/tag/binary-search/) 给你一个按照非递减顺序排列的整数数组 `nums`,和一个目标值 `target`。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 `target`,返回 `[-1, -1]`。 你必须设计并实现时间复杂度为 `O(log n)` 的算法解决此问题。 **示例 1:** ``` 输入:nums = [5,7,7,8,8,10], target =...

# [33\. 搜索旋转排序数组](https://leetcode.cn/problems/search-in-rotated-sorted-array/) ## Description Difficulty: **中等** Related Topics: [数组](https://leetcode.cn/tag/array/), [二分查找](https://leetcode.cn/tag/binary-search/) 整数数组 `nums` 按升序排列,数组中的值 **互不相同** 。 在传递给函数之前,`nums` 在预先未知的某个下标 `k`(`0

# [32\. 最长有效括号](https://leetcode.cn/problems/longest-valid-parentheses/) ## Description Difficulty: **困难** Related Topics: [栈](https://leetcode.cn/tag/stack/), [字符串](https://leetcode.cn/tag/string/), [动态规划](https://leetcode.cn/tag/dynamic-programming/) 给你一个只包含 `'('` 和 `')'` 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 **示例 1:** ``` 输入:s = "(()" 输出:2 解释:最长有效括号子串是 "()" ``` **示例 2:** ```...

# [31\. 下一个排列](https://leetcode.cn/problems/next-permutation/) ## Description Difficulty: **中等** Related Topics: [数组](https://leetcode.cn/tag/array/), [双指针](https://leetcode.cn/tag/two-pointers/) 整数数组的一个 **排列**  就是将其所有成员以序列或线性顺序排列。 * 例如,`arr = [1,2,3]` ,以下这些都可以视作 `arr` 的排列:`[1,2,3]`、`[1,3,2]`、`[3,1,2]`、`[2,3,1]` 。 整数数组的 **下一个排列** 是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的 **下一个排列** 就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。 * 例如,`arr =...

# [23\. 合并K个升序链表](https://leetcode.cn/problems/merge-k-sorted-lists/) ## Description Difficulty: **困难** Related Topics: [链表](https://leetcode.cn/tag/linked-list/), [分治](https://leetcode.cn/tag/divide-and-conquer/), [堆(优先队列)](https://leetcode.cn/tag/heap-priority-queue/), [归并排序](https://leetcode.cn/tag/merge-sort/) 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 **示例 1:** ``` 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1->3->4, 2->6 ] 将它们合并到一个有序链表中得到。 1->1->2->3->4->4->5->6...

# [22\. 括号生成](https://leetcode.cn/problems/generate-parentheses/) ## Description Difficulty: **中等** Related Topics: [字符串](https://leetcode.cn/tag/string/), [动态规划](https://leetcode.cn/tag/dynamic-programming/), [回溯](https://leetcode.cn/tag/backtracking/) 数字 `n` 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 **有效的** 括号组合。 **示例 1:** ``` 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] ``` **示例 2:** ``` 输入:n =...

# [21\. 合并两个有序链表](https://leetcode.cn/problems/merge-two-sorted-lists/) ## Description Difficulty: **简单** Related Topics: [递归](https://leetcode.cn/tag/recursion/), [链表](https://leetcode.cn/tag/linked-list/) 将两个升序链表合并为一个新的 **升序** 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。  **示例 1:** ![](https://assets.leetcode.com/uploads/2020/10/03/merge_ex1.jpg) ``` 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] ``` **示例 2:** ``` 输入:l1...

# [20\. 有效的括号](https://leetcode.cn/problems/valid-parentheses/) ## Description Difficulty: **简单** Related Topics: [栈](https://leetcode.cn/tag/stack/), [字符串](https://leetcode.cn/tag/string/) 给定一个只包括 `'('`,`')'`,`'{'`,`'}'`,`'['`,`']'` 的字符串 `s` ,判断字符串是否有效。 有效字符串需满足: 1. 左括号必须用相同类型的右括号闭合。 2. 左括号必须以正确的顺序闭合。 3. 每个右括号都有一个对应的相同类型的左括号。 **示例 1:** ``` 输入:s = "()" 输出:true...

# [19\. 删除链表的倒数第 N 个结点](https://leetcode.cn/problems/remove-nth-node-from-end-of-list/) ## Description Difficulty: **中等** Related Topics: [链表](https://leetcode.cn/tag/linked-list/), [双指针](https://leetcode.cn/tag/two-pointers/) 给你一个链表,删除链表的倒数第 `n`个结点,并且返回链表的头结点。 **示例 1:** ![](https://assets.leetcode.com/uploads/2020/10/03/remove_ex1.jpg) ``` 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] ``` **示例 2:** ```...