
力扣刷题
做个疯狂的程序员
这个作者很懒,什么都没留下…
展开
-
剑指Offer:算法
剑指Offer:算法今日份分享–费曼学习法03. 数组中重复的数字找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3思路一:Hashclass Solution { public int findRepeatNumber(int[] nums) {原创 2022-04-13 23:33:29 · 167 阅读 · 0 评论 -
面试题教我做人?
面试题教我做人?58同城面试题给定一个数组,你需要删除其中重复出现的元素,只保留最后一次出现的重复元素,使得每个元素只出现一次,返回新数组,并保证新数组中的元素顺序与原数组一致。为数不多的直接题,哭~import java.util.*;public class Solution { /** * 删除重复元素 * @param array int整型一维数组 * @return int整型一维数组 */ public int[] rem原创 2022-03-13 00:05:37 · 315 阅读 · 2 评论 -
202. 快乐数
202. 快乐数编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么这个数就是快乐数。如果 n 是 快乐数 就返回 true ;不是,则返回 false 。示例 1:输入:n = 19输出:true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 =原创 2022-03-04 11:05:42 · 200 阅读 · 0 评论 -
349. 两个数组的交集
349. 两个数组的交集题目详解给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]解释:[4,9] 也是可通过的提示:1 <= nums1.length, nums2.length <= 100原创 2022-03-04 10:24:50 · 811 阅读 · 0 评论 -
1002. 查找共用字符
1002. 查找共用字符题目详解给你一个字符串数组 words ,请你找出所有在 words 的每个字符串中都出现的共用字符( 包括重复字符),并以数组形式返回。你可以按 任意顺序 返回答案。示例 1:输入:words = [“bella”,“label”,“roller”]输出:[“e”,“l”,“l”]示例 2:输入:words = [“cool”,“lock”,“cook”]输出:[“c”,“o”]提示:1 <= words.length <= 1001 <=原创 2022-03-02 13:09:32 · 489 阅读 · 0 评论 -
242. 有效的字母异位词
242. 有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false提示:1 <= s.length, t.length <= 5 * 104s 和 t 仅包含小写字母进阶: 如果输入字符原创 2022-03-02 11:03:45 · 78 阅读 · 0 评论 -
面试题 02.07. 链表相交
面试题 02.07. 链表相交题目详解给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Inter原创 2022-03-01 10:59:47 · 173 阅读 · 0 评论 -
24. 两两交换链表中的节点
24. 两两交换链表中的节点题目解析给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中节点的数目在范围 [0, 100] 内0 <= Node.val <= 100/** * Definition for s原创 2022-03-01 10:55:05 · 309 阅读 · 0 评论 -
19. 删除链表的倒数第 N 个结点
19. 删除链表的倒数第 N 个结点题目详解给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz1 <= sz <= 300 <= Node.val <= 1001 <= n <=原创 2022-02-28 13:31:56 · 215 阅读 · 0 评论 -
206. 反转链表
206. 反转链表题目给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。详解示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next;原创 2022-02-28 12:55:36 · 153 阅读 · 0 评论 -
203. 移除链表元素
203. 移除链表元素题目详解给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]示例 3:输入:head = [7,7,7,7], val = 7输出:[]提示:列表中的节点数目在范围 [0, 104] 内1 <= N原创 2022-02-28 10:16:06 · 230 阅读 · 0 评论 -
209. 长度最小的子数组
209. 长度最小的子数组题目详解给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。示例 1:输入:target = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。示例 2:输入:target = 4, nums = [1原创 2022-02-26 11:11:08 · 82 阅读 · 0 评论 -
977. 有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。题目地址详解地址示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]暴解:class Solution { public int[] s原创 2022-02-26 10:15:55 · 90 阅读 · 0 评论 -
力扣刷题:两数之和
两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], tar.原创 2021-12-30 16:00:21 · 3366 阅读 · 0 评论