力扣
不知努力的bd
这个作者很懒,什么都没留下…
展开
-
46. 全排列
题目:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例3:输入:nums = [1]输出:[[1]]题解:因为是不含重复数字数组,每次向数组里面放一个不重复数据,直到放满。List<Lis原创 2022-03-29 16:52:51 · 144 阅读 · 0 评论 -
1996. 游戏中弱角色的数量
题目:你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击 和 防御 。给你一个二维整数数组 properties ,其中 properties[i] = [attacki, defensei] 表示游戏中第 i 个角色的属性。如果存在一个其他角色的攻击和防御等级 都严格高于 该角色的攻击和防御等级,则认为该角色为 弱角色 。更正式地,如果认为角色 i 弱于 存在的另一个角色 j ,那么 attackj > attacki 且 defensej > defensei 。返回 弱角原创 2022-01-28 20:17:50 · 80 阅读 · 0 评论 -
75. 颜色分类
题目:给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库的sort函数的情况下解决这个问题。示例:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]题解:可以先统计个数,然后在重新给数组赋值,或者通过循环直接将其放入正确的位置。方法1: public void sortColors(原创 2022-01-27 20:16:25 · 363 阅读 · 0 评论 -
合并K个升序链表
题目:给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例:输入: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解题:合并k个升序链表,可以通过f原创 2022-01-24 20:22:53 · 370 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
题目:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:矩阵如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]解题:最简单的方法两层for循环对矩阵进原创 2022-01-19 19:44:09 · 167 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字
题目:找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 解题:定义一个相同长度的数组arr,遍历nums数组,将数组的值用arr[nums[i]]记录个数,超过1就符合条件。public int main(int[] nums) {原创 2022-01-19 19:29:08 · 77 阅读 · 0 评论 -
剑指 Offer 25. 合并两个排序的链表
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题:从头一次遍历两个链表,比较值的大小,依次向下遍历。public class ListNode { int val; ListNode next; public ListNode(int Date) { this.val原创 2022-01-18 21:43:17 · 374 阅读 · 0 评论 -
面试题 02.02. 返回倒数第 k 个节点
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。示例:输入: 1->2->3->4->5 和 k = 2输出: 4解题:快慢指针,快的先走k个长度public class ListNode { int val; ListNode next; public ListNode(int Date) { this.val = Date; this.next = null; }原创 2022-01-18 20:41:25 · 89 阅读 · 0 评论 -
剑指 Offer II 024. 反转链表
题目:给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。示例:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]解题:public class ListNode { int val; ListNode next; public ListNode(int Date) { this.val = Date; this.next = null; } ListNode()原创 2022-01-18 19:35:12 · 192 阅读 · 0 评论