文章分类 -  leetcode刷题 / 代码随想录第一遍

摘要:题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2 阅读全文
posted @ 2023-03-08 00:50 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)
摘要:题目 长编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。 如果这个过程 结果为 1,那么这个数就是快乐数。 如果 n 是 快乐数 就返回 tr 阅读全文
posted @ 2023-03-07 20:47 铜锣湾陈昊男 阅读(10) 评论(0) 推荐(0)
摘要:题目 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2] 示例 2: 输入:nums1 = [4,9,5], num 阅读全文
posted @ 2023-03-06 13:52 铜锣湾陈昊男 阅读(6) 评论(0) 推荐(0)
摘要:题目 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = " 阅读全文
posted @ 2023-03-06 13:01 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)
摘要:题目 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 阅读全文
posted @ 2023-03-05 19:08 铜锣湾陈昊男 阅读(9) 评论(0) 推荐(0)
摘要:题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 示例 1: 输入:inte 阅读全文
posted @ 2023-03-05 01:28 铜锣湾陈昊男 阅读(8) 评论(0) 推荐(0)
摘要:题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0,1 阅读全文
posted @ 2023-03-02 15:04 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)
摘要:题目 给你一个链表,删除链表的倒数第 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 输出: 阅读全文
posted @ 2023-03-02 15:02 铜锣湾陈昊男 阅读(10) 评论(0) 推荐(0)
摘要:题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:head = [] 输出:[] 示例 3: 输入:head = 阅读全文
posted @ 2023-03-01 22:13 铜锣湾陈昊男 阅读(8) 评论(0) 推荐(0)
摘要:题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 思路 双指针法,前后一个指针 阅读全文
posted @ 2023-03-01 17:53 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)
摘要:题目 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链表类 阅读全文
posted @ 2023-02-28 21:30 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)
摘要:题目 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示例 2: 输入:head = [], 阅读全文
posted @ 2023-02-25 16:20 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)
摘要:题目 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2: 输入:n = 1 输出:[[1]] 思路 1.注意边界条件 这 阅读全文
posted @ 2023-02-24 13:24 铜锣湾陈昊男 阅读(7) 评论(0) 推荐(0)
摘要:题目 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1: 输入:target 阅读全文
posted @ 2023-02-22 19:29 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)
摘要:数组移除元素 题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 说明: 为什么返回 阅读全文
posted @ 2023-02-11 17:11 铜锣湾陈昊男 阅读(9) 评论(0) 推荐(0)
摘要:二分查找 题目 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 阅读全文
posted @ 2023-02-11 16:04 铜锣湾陈昊男 阅读(5) 评论(0) 推荐(0)
摘要:时间复杂度 直接给链接 https://www.programmercarl.com/%E5%89%8D%E5%BA%8F/%E5%85%B3%E4%BA%8E%E6%97%B6%E9%97%B4%E5%A4%8D%E6%9D%82%E5%BA%A6%EF%BC%8C%E4%BD%A0%E4%B8% 阅读全文
posted @ 2023-02-11 15:31 铜锣湾陈昊男 阅读(10) 评论(0) 推荐(0)
摘要:按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。 每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方 阅读全文
posted @ 2022-09-24 16:19 铜锣湾陈昊男 阅读(4) 评论(0) 推荐(0)
摘要:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。 想法一:使用前序遍历,但是这里要注意 阅读全文
posted @ 2022-09-15 15:15 铜锣湾陈昊男 阅读(8) 评论(0) 推荐(0)
摘要:给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1: 输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6 阅读全文
posted @ 2022-09-15 11:00 铜锣湾陈昊男 阅读(6) 评论(0) 推荐(0)