自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode-跳跃游戏

我们一开始在位置 0,可以跳跃的最大长度为 2,因此最远可以到达的位置被更新为 2;我们用 1 加上它可以跳跃的最大长度 3,将最远可以到达的位置更新为 4。我们遍历到位置 1,由于 1≤3,因此位置 1 可达,加上它可以跳跃的最大长度 2 得到 3,没有超过最远可以到达的位置;我们遍历到位置 4,由于 4>3,因此位置 4 不可达,我们也就不考虑它可以跳跃的最大长度了。我们一开始在位置 0,可以跳跃的最大长度为 3,因此最远可以到达的位置被更新为 3;数组中的每个元素代表你在该位置可以跳跃的最大长度。

2023-10-17 12:48:20 46

原创 Leetcode——463. 岛屿的周长

岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。计算这个岛屿的周长。方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。陆地与陆地间相邻 那么他们损失的周长数,损失的周长数为“贴贴边”*2,也就是各损失一条边。先观察出为一的陆地数跟周长的关系,会发现一个很重要的关系——相邻。它的周长是上面图片中的 16 个黄色的边。一块陆地若是自成小岛,那它周长为4。代码里可能会有不足的地方,多多包涵。

2023-10-08 21:35:21 41 1

原创 Leetcode——506. 相对名次

题目的意思是返回一个数组,返回数组根据score数组的大小来分配前三名的奖牌数,而其他位置是score数组三名外的排名数。排序简单地使用Arrays.sort()即可,但是与此同时下标位置也就乱了,我们要提前存储下标们。名次为 [1st, 2nd, 3rd, 4th, 5th]。名次为 [1st, 5th, 3rd, 2nd, 4th]。代码也很简单明了,这题主要精髓就是要提前存储下标。这里可以用二维数组,也可以用HashMap。位运动员在比赛中的得分。的运动员得分最高,名次第。位运动员的获奖情况。

2023-10-08 20:48:28 40 1

原创 Leetcode——169.存在重复元素

题目要求很简单,只要有重复数字就返回true,没有返回false。1.暴力法:双重循环,固定一个数,拿它跟后面的数进行比较判断。3.哈希表:哈希表里不允许有重复元素,利用这一点可以轻松解题。如果在添加后续元素的过程中失败了,则说明有重复元素。如果数组中每个元素互不相同,返回。如果任一值在数组中出现。

2023-10-05 16:04:03 35

原创 leetcode——盛水最多的容器(双指针)

在移动的过程中 宽度是减小的, 我们先假设取得max就是取得最大宽度的时候,若想推翻假设,那就需要在左/右移动的过程中找到比max更大的值,但是这里的宽度是递减的,要想找到更大的max 那只能提高木桶的边界(盛水的多少由宽度和最短边界的高决定),而最短边界的高在这次比较中是固定的了,所以确定了最短边界后,max也就确定了,记录max,进行下一轮比较。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。所以只需要比较每一轮的最大宽度时的max就够了,可以结合图片自行思考。

2023-09-29 21:29:38 53 1

原创 leetcode——只出现一次的数字(双循环,异或)

在内部循环中,首先检查是否当前的外部循环元素(nums[i])与当前内部循环元素(nums[j])相等,并且确保它们的索引不相等(即i!如果满足这两个条件,就表示找到了一个重复元素,将标志变量foundDuplicate设置为true,并且立即跳出内部循环。如果内部循环结束后,标志变量foundDuplicate仍然为false,表示没有找到重复元素,那么当前外部循环元素(nums[i])就是只出现一次的元素,将其返回。找出那个只出现了一次的元素。异或运算满足交换律,a^b^a=a^a^b=b。

2023-09-29 20:29:17 35 1

原创 leetcode——买卖股票的最佳时机(循环遍历)

在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。思路:遍历出购买价格(最低股票价格),再通过循环计算最大利润maxprofit=prices[i]-minprices。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回。设计一个算法来计算你所能获取的最大利润。在这种情况下, 没有交易完成, 所以最大利润为 0。

2023-09-27 21:03:10 58 1

原创 计数质数和(枚举法、筛法)

在判断是否为素数的循环中 [2,√n]这个范围可能有些同学想不明白,我们在此说明:假设如果你试到√n还没出结果的话,那么他一定有一个大于√n的因子,那么它也一定有一个小于√n的因子(不然两因子相乘会大于n), 如果它真的有一个小于√n的因子 那我前面从2试到√n的过程中肯定发现了它的,矛盾了。质数(Prime number),又称素数,指在大于 1 的自然数中,除了 1 和该数自身外,无法被其他自然数整除的数。所以需要两个循环 一个遍历n,一个在一定范围内取枚举i以此来判断n是否为素数。

2023-09-26 21:17:54 97

空空如也

空空如也

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

TA关注的人

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