
LC 数组、链表与模拟
文章平均质量分 50
Leetcode与Lintcode 数组、链表与模拟
记录算法题解
数学、算法爱好者,喜爱钻研各种数学和算法题。欢迎交流!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Leetcode】3347. Maximum Frequency of an Element After Performing Operations II
一样,但这道题数据范围比较大,需要先做一下离散化再做。思路依然是,先做一下频率计数,然后暴力枚举要变成的数是几,如果要变成。对于所有操作的方案,问最终得到的数组里频率最大的数的频率可能是多少。这样的数就行了,具体证明比较显然,此处省略。次操作,每次操作可以将未操作过的一个数加上。,可以利用计数数组的前缀和数组来。的数的个数由两个因素决定,一个是。的可能性只需要考虑所有的形如。中的数都是正整数,且范围是。,再给定给一个非负整数。,这两个较小者再加上。原创 2024-11-16 03:33:27 · 908 阅读 · 1 评论 -
【Leetcode】3346. Maximum Frequency of an Element After Performing Operations I
对于所有操作的方案,问最终得到的数组里频率最大的数的频率可能是多少。先做一下频率计数,然后暴力枚举要变成的数是几,如果要变成。次操作,每次操作可以将未操作过的一个数加上。,可以利用计数数组的前缀和数组来。的数的个数由两个因素决定,一个是。,再给定给一个非负整数。,这两个较小者再加上。原创 2024-11-15 01:57:37 · 727 阅读 · 0 评论 -
【Leetcode】3349. Adjacent Increasing Subarrays Detection I
前半段验证成功了再验证后半段,都成功了返回true;如果后半段失败了,则可以移动。先验证前半段,如果失败了,则。可以直接跳过若干个到。原创 2024-11-12 19:05:55 · 221 阅读 · 0 评论 -
【Leetcode】3024. Type of Triangle
个正整数,问它们是否能构成一个三角形,如果不能,则返回"none";如果能,等边三角形返回“equilateral”,不是等边但是等腰返回“isosceles”,都不等返回“scalene”。原创 2024-11-04 18:07:56 · 175 阅读 · 0 评论 -
【Leetcode】2918. Minimum Equal Sum of Two Arrays After Replacing Zeros
变为任意正整数,使得两个数组的和相等。问这个最小的相等的和是多少。由于必须变成正整数,所以最终答案一定不小于。的数组和无法再变大了,此时无解;先求数组各自的和和各自有多少个。的数变得再大一些即可,返回。给定两个非负整数数组。原创 2024-08-18 06:33:30 · 799 阅读 · 0 评论 -
【Leetcode】1513. Number of Substrings With Only 1s
【代码】【Leetcode】1513. Number of Substrings With Only 1s。原创 2024-08-15 14:33:25 · 407 阅读 · 0 评论 -
【Leetcode】1509. Minimum Difference Between Largest and Smallest Value in Three Moves
最优方案肯定是变两端的值,可以直接暴力枚举左右两端各变多少个数。,允许每一步将其中任意数变成任意数,允许最多。次操作,问得到的新数组的极差最小是多少。原创 2024-08-15 12:43:48 · 450 阅读 · 0 评论 -
【Leetcode】2363. Merge Similar Items
个,要求汇总每个物品总共有多少个,并且按照物品的。给定两个数组,里面的元素都是。原创 2024-08-14 01:34:52 · 161 阅读 · 0 评论 -
【Leetcode】2996. Smallest Missing Integer Greater Than Sequential Prefix Sum
对于其最长的连续数字的前缀的和。,找到最小的大于等于。原创 2024-08-12 10:12:00 · 206 阅读 · 0 评论 -
【Leetcode】2285. Maximum Total Importance of Roads
的一个数字,每个数字只能分配一次。点之间有无向边,每条边的权值是其连接的两个点的分配数字之和。问怎么分配数字能使得所有边的总权值之和最大,返回最大的那个和。先统计一下每个点连了多少条边,显然连最多边的点分配的数字应该最大。,每个点可以分配一个。原创 2024-08-11 02:42:21 · 358 阅读 · 0 评论 -
【Leetcode】1566. Detect Pattern of Length M Repeated K or More Times
次连续出现的相同的子数组。反过来也是对的,如果计数器从。,那么遍历的地方就存在。次,如果有一个计数器。原创 2024-08-11 00:33:16 · 879 阅读 · 0 评论 -
【Leetcode】3071. Minimum Operations to Write the Letter Y on a Grid
的部分和之外的部分各自变为相同的值,但是。和之外的部分值不同。,每次操作可以将任意位置的数改为。任意其一,要求将方阵里的形如。的方阵,里面的数只有。原创 2024-07-23 00:19:06 · 552 阅读 · 0 评论 -
【Leetcode】233. Number of Digit One
的每一位求出来然后从左到右排列。,那么除了上面那个方案之外,左边是可以取。对每一位求个总和即可。这些正整数中各个位总共有多少个。这一位,有多少个数能取。,那么其左边的方案数是。,那么其左边的方案是。的,而此时右边可以取。原创 2024-07-22 08:03:18 · 1082 阅读 · 0 评论 -
【Leetcode】2537. Count the Number of Good Subarrays
从而最终的答案即为。原创 2024-07-17 11:28:39 · 675 阅读 · 0 评论 -
【Leetcode】2444. Count Subarrays With Fixed Bounds
为右端点的数组满足条件的有多少个,设。这两个数都在区间里就行了。向左最远能延伸到的地方,而此时。的范围长度求和即可。满足条件,我们其实是在考虑。的,从而我们只需要保证。的最小值和最大值恰好是。原创 2024-07-15 21:14:50 · 744 阅读 · 0 评论 -
【Leetcode】88. Merge Sorted Array
合并两个有序数组,分别为数组。原创 2024-01-09 12:44:32 · 415 阅读 · 0 评论 -
【Leetcode】986. Interval List Intersections
题目地址:https://leetcode.com/problems/interval-list-intersections/给定两个元素是闭区间的数组AAA和BBB,数组内的区间两两不相交。求所有某两个区间的重合部分的闭区间。法1:扫描线。可以将一个区间想象成一个会议的开始结束时间。先将所有起始和终止时间点包装成一个Pair类,里面存两个变量,第一个变量代表时间,第二个变量代表”开始“还是”结束“,用 000代表开始,用111代表结束(这主要是因为题目中是闭区间,端点重合也算重合。这样排序的时候就可原创 2020-09-16 02:33:01 · 247 阅读 · 2 评论 -
【Leetcode】1292. Maximum Side Length of a Square with Sum Less than or Equal to Threshold
的前缀和数组,这样方便迅速求得子方阵的和。直接枚举子方阵的右下角的点即可,如果发现了某个边长。,从而我们枚举子方阵边长的时候可以单调的枚举,因为我们不必枚举更小的答案。的子方阵中边长最大是多少。,那么我们就知道了答案一定大于等于。,再给定一个非负整数。的子方阵的和小于等于。原创 2023-12-08 13:16:36 · 147 阅读 · 0 评论 -
【Leetcode】1291. Sequential Digits
直接求出所有这样的数,然后只讲范围里的数加入答案。,求所有这样的数,这个数的每一位都比其后一位少。给定一个正整数的范围。原创 2023-12-06 12:08:11 · 146 阅读 · 0 评论 -
【Leetcode】1284. Minimum Number of Flips to Convert Binary Matrix to Zero Matrix
的十字,即某个位置和其四个方向一格的位置。问至少flip多少次可以让整个矩阵变为全。,每次允许flip一个长为。原创 2023-12-04 05:23:25 · 76 阅读 · 0 评论 -
【Leetcode】1282. Group the People Given the Group Size They Belong To
题目地址:https://leetcode.com/problems/group-the-people-given-the-group-size-they-belong-to/给定一个长nnn的数组AAA,对于元素0,1,...,n−10,1,...,n-10,1,...,n−1这nnn个数存在一个划分,A[i]A[i]A[i]代表编号iii所属的等价类的元素个数。要求返回AAA的划分。返回任意一个合法划分即可。开个哈希表,key存等价类元素个数,value存所属等价类个数等于key的元素编号列表。容原创 2021-02-01 00:19:07 · 150 阅读 · 0 评论 -
【Leetcode】299. Bulls and Cows
题目保证两个字符串长度相同。是数字猜对但是位置不对的数字个数。是猜对的位置符合的数字个数,给定两个数字构成的字符串。原创 2023-12-03 11:42:37 · 83 阅读 · 0 评论 -
【Leetcode】2354. Number of Excellent Pairs
中可重复地挑出两个数所组成的,同一个数可以被挑多次。两个数对不同当且仅当其某一维不同。,则说这两个数形成了一个好数对。一个数对可以看做是在。的总个数其实就等于两个数的二进制位。的总个数大于等于某个给定的正整数。可以统计一下二进制位。的数字个数),那么答案就是。的数字有多少个,得数组。原创 2023-11-02 13:59:49 · 145 阅读 · 0 评论 -
【Leetcode】2352. Equal Row and Column Pairs
的方阵,问有多少个数对。原创 2023-11-02 11:10:02 · 137 阅读 · 0 评论 -
【Leetcode】2315. Count Asterisks
之间形成一个区域,以此类推。之间形成一个区域,第。原创 2023-11-02 02:29:21 · 63 阅读 · 0 评论 -
【Leetcode】1103. Distribute Candies to People
开始报数,报到什么数就会分得多少个糖果。如果糖果有剩余,则从头开始继续报数,直到分完。问最后每个人手里的糖果数。个人,这些人从左到右排开,从。原创 2023-10-16 06:59:54 · 89 阅读 · 0 评论 -
【Leetcode】1099. Two Sum Less Than K
题目地址:https://leetcode.com/problems/two-sum-less-than-k/给定一个数组AAA,再给定一个数kkk,要求找出AAA中的两个数,使得它们的和小于kkk,返回这样的和里最大的那个和。思路是双指针(算法正确性附在后面)。先将数组排序,然后用对撞双指针,如果和小于kkk,则更新答案,并右移左指针(使得和变得更大),否则说明和大于等于kkk,则左移右指...原创 2020-04-18 06:33:40 · 679 阅读 · 1 评论 -
【Leetcode】1861. Rotating the Box
首先开一个新矩阵,先用空地填充。翻转之后,原矩阵的最后一列即为新矩阵的最后一行,我们对原矩阵每一行从右向左遍历,如果遇到障碍物则原样填;如果遇到石头,我们将石头填充到最下面可能的位置。,自然状态下石头会下落,直到最后一行或者碰到障碍物。问最后自然状态下的矩阵是什么样。现在将这个矩阵顺时针旋转。原创 2023-10-08 13:36:43 · 412 阅读 · 0 评论 -
【Leetcode】350. Intersection of Two Arrays II
的交集,以数组形式返回。重复次数也要算在内。原创 2023-01-02 03:15:54 · 194 阅读 · 0 评论 -
【Leetcode】915. Partition Array into Disjoint Intervals
条件等价于左子数组的最大值小于等于右子数组的最小值,可以预处理一下后缀的最小值的数组,然后从左到右扫描一遍暴力枚举边界即可。,要求划分为两个子数组,使得左右非空,并且左边每个数都小于等于右边每个数。求左子数组的最短长度。原创 2022-12-31 13:51:43 · 135 阅读 · 0 评论 -
【Leetcode】861. Score After Flipping Matrix
的个数,则需要翻转。正确性证明也很简单,考虑这种方法得到的最终矩阵,而这个矩阵无论怎么操作都不可能让总和变得更大了。矩阵,每一步允许将某一行或者某一列的数字做翻转。最后将每一行视为一个二进制数,要求使得所有行的二进制数之和最大,问最大和是多少。上的矩阵加法,从而是可交换可结合的。首先,第一列是一定可以变为全。翻转之后,再从第二列开始看,如果这一列。首先每一步相当于做二元域。的,方法是选中第一列。原创 2022-12-31 04:48:51 · 142 阅读 · 0 评论 -
【Leetcode】849. Maximize Distance to Closest Person
题目保证至少有一个空位和一个人。新来一个人,他想让离他最近的人与他的距离最远,问这个最远距离是多少。原创 2022-12-31 03:20:01 · 155 阅读 · 0 评论 -
【Leetcode】1131. Maximum of Absolute Value Expression
种情况,容易知道暴力枚举出的最大值一定大于等于最终答案(因为最终答案一定是暴力枚举的某一个情况之一)。同时可以反证法证明最终答案也一定大于等于暴力枚举的最大值,所以它们相等。种情况,我们直接暴力枚举这。,按照正负号的分配一共有。原创 2022-12-25 02:46:47 · 545 阅读 · 0 评论 -
【Leetcode】1118. Number of Days in a Month
给定一个年和月,求其天数。原创 2022-12-24 14:48:16 · 154 阅读 · 0 评论 -
【Leetcode】487. Max Consecutive Ones II
允许将任意一位变为。原创 2022-12-13 03:18:15 · 351 阅读 · 0 评论 -
【Leetcode】2078. Two Furthest Houses With Different Colors
https://leetcode.com/problems/two-furthest-houses-with-different-colors/description/给定一个长nnn数组AAA,求maxi原创 2022-12-03 16:33:37 · 447 阅读 · 0 评论 -
【Leetcode】2069. Walking Robot Simulation II
取模,取模完毕之后剩余步数暴力模拟即可。需要注意一个特殊情况,如果机器人从未走过,其朝向是东,但是一旦其走过,在其回到。步,机器人除非走到边界之外,否则方向不变;如果走到边界之外,则走到边界的时候需要逆时针转向。其余的情况都可以直接模拟。的二维矩阵,一个机器人位于左下角。首先,机器人无论在哪儿,其走。的位置,右上角的位置是。3、返回机器人位置;4、返回机器人朝向。原创 2022-12-02 13:58:18 · 431 阅读 · 0 评论 -
【Leetcode】2418. Sort the People
要求将名字按身高从高到低排序,返回新数组。题目保证身高各不相同。个下标按身高排序,排好序之后将名字按新顺序加入答案即可。个人的名字,第二个数组是。原创 2022-12-02 11:42:27 · 207 阅读 · 0 评论 -
【Leetcode】1253. Reconstruct a 2-Row Binary Matrix
最后看一下是否符合要求即可。,那我们已经知道了这一列两个数字都是。要求以给定信息,构造一个只含数字。否则的话,我们先尝试用掉。原创 2022-11-29 03:31:13 · 131 阅读 · 0 评论 -
【Leetcode】1827. Minimum Operations to Make the Array Increasing
问要将其变为严格单调增的数组至少要做多少次操作。遇到不严格单调增的地方将后面那个数加成前面那个数多。原创 2022-11-25 12:27:42 · 133 阅读 · 0 评论