自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 LeetCode刷题-11

数组-136. 只出现一次的数字题目描述题目样例Java方法:位运算算法思路代码复杂度题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。题目样例示例1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4Java方法:位运算算法思路如果不考虑时间复杂度和空间复杂度的限制,这道题有很多种解法,可能的解法有如下几种。1.使用集合存储数字。遍历数组中的每个数字,如果集合中没有该数字,则将该

2022-02-01 14:13:51 100

原创 LeetCode刷题-10

数组-121. 买卖股票的最佳时机题目描述题目样例Java方法:暴力法代码复杂度Java方法:一次遍历算法思路代码复杂度题目描述给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。题目样例示例1:输入:[7,1,5,3,6,4]输出:5解释:在第

2022-01-31 13:30:00 100

原创 LeetCode刷题-9

数组-119. 杨辉三角 II题目描述题目样例Java方法:线性递推思路及算法代码复杂度题目描述给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。题目样例示例1:输入: rowIndex = 3输出: [1,3,3,1]示例2:输入: rowIndex = 0输出: [1]示例3:输入: rowIndex = 1输出: [1,1]提示:0 <= rowIndex &l

2022-01-30 15:57:27 457

原创 LeetCode刷题-8

数组-118. 杨辉三角题目描述题目样例Java方法:数学思路及算法代码复杂度题目描述给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。题目样例示例1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例2:输入: numRows = 1输出: [[1]]提示:1 <= numRows <= 30Jav

2022-01-29 16:16:47 73

原创 LeetCode刷题-7

数组-108. 将有序数组转换为二叉搜索树题目描述题目样例前言Java方法:中序遍历,总是选择中间位置左边的数字作为根节点思路及算法代码复杂度Java方法:中序遍历,总是选择中间位置右边的数字作为根节点思路及算法代码复杂度Java方法:中序遍历,选择任意一个中间位置数字作为根节点思路及算法代码复杂度题目描述给你一个整数数组 nums ,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树。高度平衡二叉树是一棵满足每个节点的左右两个子树的高度差的绝对值不超过 1的二叉树。题目样例示例1:

2022-01-28 13:32:03 113

原创 LeetCode刷题-6

数组-88. 合并两个有序数组题目描述题目样例Java方法:直接合并后排序思路及算法代码执行结果复杂度Java方法:双指针思路及算法代码执行结果复杂度Java方法:逆向双指针思路及算法代码执行结果复杂度题目描述给你两个按非递减顺序排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你合并 nums2 到 nums1 中,使合并后的数组同样按非递减顺序排列。题目样例示例1:输入:nums1 = [1,2,3,0,0,0],

2022-01-20 09:15:54 683 1

原创 LeetCode刷题-5

数组-66. 加一题目描述题目样例Java方法:找出最长的后缀 9思路及算法代码执行结果复杂度题目描述给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。题目样例示例1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示

2021-11-11 20:54:21 3610

原创 LeetCode刷题-4

数组-35. 搜索插入位置题目描述题目样例Java方法:二分查找思路及算法代码执行结果复杂度题目描述给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。题目样例示例1:输入: nums = [1,3,5,6], target = 5输出: 2示例2:输入: nums = [1,3,5,6], target = 2输出: 1示例3:输入: nums =

2021-11-09 19:32:58 534

原创 LeetCode刷题-3

数组-27. 移除元素题目描述题目样例Java方法:双指针思路及算法代码执行结果复杂度Java方法:双指针优化思路及算法代码执行结果复杂度题目描述给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。题目样例示例1:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2

2021-11-08 19:54:45 65

原创 LeetCode刷题-2

数组-26.删除有序数组中的重复项题目描述题目样例Java方法:双指针思路及算法代码执行结果复杂度题目描述给你一个有序数组 nums ,请你原地删除重复出现的元素,使每个元素只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。题目样例示例1:输入:nums = [1,1,2]输出:2, nums = [1,2]解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组

2021-11-02 20:36:19 54

原创 LeetCode刷题-1

数组-1.两数之和题目描述题目样例Java方法:暴力枚举思路及算法代码执行结果复杂度Java方法:哈希表思路及算法代码执行结果复杂度题目描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。题目样例示例1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例2:输入:nums

2021-10-31 11:08:51 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除