自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最大公约数

一行代码求两个数的最大公约数题目描述给定两个不等于0的整数M和N,求M和N的最大公约数。输入描述:输入有两个整数。分别表示M, N输出描述:一个整数表示M, N的最大公约数示例1输入6 12输出6示例2输入2 3输出1备注:1⩽M,N⩽1091 \leqslant M,N \leqslant 10^91⩽M,N⩽109题解:假设 m / n = a … b,那么 gcd(m, n) = gcd(n, b),下面来证明:设 c = gcd(m, n),d

2020-11-30 14:04:12 423

原创 容器盛水问题

容器盛水问题题目描述给定一个整形数组arr,已知其中所有的值都是非负的,将这个数组看作一个容器,请返回容器能装多少水。具体请参考样例解释输入描述:第一行一个整数N,表示数组长度。接下来一行N个数表示数组内的数。输出描述:输出一个整数表示能装多少水。示例1输入63 1 2 5 2 4输出5说明[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JUNQoTFu-1606639515481)(assets/1606637769.jpg)]示例2输

2020-11-29 16:45:24 505

原创 加油站良好出发点问题

加油站良好出发点问题题目描述N个加油站组成一个环形,给定两个长度都是N的非负数组oil和dis(N>1),oil[i]代表第i个加油站存的油可以跑多少千米,dis[i]代表第i个加油站到环中下一个加油站相隔多少千米。假设你有一辆油箱足够大的车,初始时车里没有油。如果车从第i个加油站出发,最终可以回到这个加油站,那么第i个加油站就算良好出发点,否则就不算。请返回长度为N的boolean型数组res,res[i]代表第i个加油站是不是良好出发点规定只能按照顺时针走,也就是i只能走到i+1,N只能走到

2020-11-28 15:47:51 408

原创 大楼轮廓问题

大楼轮廓问题题目描述给定一个N×3N \times 3N×3的矩阵matrix,对于每一个长度为3的小数组arr,都表示一个大楼的三个数据。arr[0]表示大楼的左边界,arr[1]表示大楼的右边界,arr[2]表示大楼的高度(一定大于0)。每座大楼的地基都在X轴上,大楼之间可能会有重叠,请返回整体的轮廓线数组[要求]时间复杂度为O(nlog⁡n)O(n \log n)O(nlogn)输入描述:第一行一个整数N,表示大楼的数量。接下来N行,每个三个整数,表示第i个大楼的信息输出描述:输出若

2020-11-27 18:04:36 563

原创 分金条的最小花费

分金条的最小花费题目描述给定一个正数数组arr,arr的累加和代表金条的总长度,arr的每个数代表金条要分成的长度。规定长度为k的金条分成两块,费用为k个铜板。返回把金条分出arr中的每个数字需要的最小代价。[要求]时间复杂度为O(nlog⁡n)O(n \log n)O(nlogn),空间复杂度为O(n)O(n)O(n)输入描述:第一行一个整数N。表示数组长度。接下来一行N个整数,表示arr数组。输出描述:一个整数表示最小代价示例1输入310 30 20输出90说明如果

2020-11-26 12:19:08 816

原创 做项目的最大收益问题

做项目的最大收益问题题目描述给定两个整数W和K,W代表你拥有的初始资金,K代表你最多可以做K个项目。再给定两个长度为N的正数数组costs[]和profits[],代表一共有N个项目,costs[i]和profits[i]分别表示第i号项目的启动资金与做完后的利润(注意是利润,如果一个项目的启动资金为10,利润为4,代表该项目最终的收入为14)。你不能并行只能串行地做项目,并且手里拥有的资金大于或等于某个项目的启动资金时,你才能做这个项目。该如何选择做项目,能让你最终的收益最大?返回最后能获得的最大资金

2020-11-25 14:10:49 467

原创 子数组异或和为0的最多划分

子数组异或和为0的最多划分题目描述给定一个整型数组arr,其中可能有正有负有零。你可以随意把整个数组切成若干个不相容的子数组,求异或和为0的子数组最多可能有多少个?整数异或和定义:把数组中所有的数异或起来得到的值。输入描述:输出包括两行,第一行一个整数,代表数组长度n(1≤n≤106)(1 \leq n \leq 10^6)(1≤n≤106)。第二行有n个整数,代表数组arr(−1e9≤arri≤1e9)\left(-1e9 \leq arr_i \leq 1e9 \right)(−1e9≤arri

2020-11-24 12:51:21 443

原创 信封嵌套问题

信封嵌套问题题目描述给n个信封的长度和宽度。如果信封A的长和宽都小于信封B,那么信封A可以放到信封B里,请求出信封最多可以嵌套多少层。输入描述:输出包含多行,第一行包括一个整数,代表信封的个数n(1≤n≤105)\left(1 \leq n\leq 10^{5}\right)(1≤n≤105)。接下来n行,每行两个整数lil_ili​和wiw_iwi​,代表信封的长度和宽度。输出描述:输出包括一行,代表信封最多嵌套多少层。示例1输入93 42 34 51 32 23 61

2020-11-23 22:39:10 449

原创 打气球的最大分数

打气球的最大分数题目描述给定一个数组arr,长度为n。代表排有分数的气球。 每打爆一个气球都能获得分数,假设打爆气球的分数为X,获得分数的规则如下:1)如果被打爆气球的左边有没被打爆的气球,找到离被打爆气球最近的气球,假设分数为L:如果被打爆气球的右边有没被打爆的气球,找到离被打爆气球最近的气球,假设分数为R.获得分数为LXR2)如果被打爆的气球的左边有没被打爆的气球,找到离被打爆气球最近的气球,假设分数为L:如果被打爆气球的右边所有气球都已经被打爆,获得分数为LX。3)如果被打爆气球的左边所有的

2020-11-22 14:35:31 247

原创 机器人到达指定位置方法数

机器人到达指定位置方法数题目描述假设有排成一行的N个位置,记为1~N,开始时机器人在M位置,机器人可以往左或者往右走,如果机器人在1位置,那么下一步机器人只能走到2位置,如果机器人在N位置,那么下一步机器人只能走到N-1位置。规定机器人只能走k步,最终能来到P位置的方法有多少种。由于方案数可能比较大,所以答案需要对1e9+7取模。输入描述:输出包括一行四个正整数N(2<=N<=5000)、M(1<=M<=N)、K(1<=K<=5000)、P(1<=P<

2020-11-21 16:15:43 832

原创 数组排序之后相邻数的最大差值

数组排序之后相邻数的最大差值题目描述给定一个整形数组arr,返回排序后相邻两数的最大差值arr = [9, 3, 1, 10]。如果排序,结果为[1, 3, 9, 10],9和3的差为最大差值,故返回6。arr = [5, 5, 5, 5]。返回0。[要求]时间复杂度为O(n)O(n)O(n),空间复杂度为O(n)O(n)O(n)输入描述:第一行一个整数N。表示数组长度。接下来N个整数表示数组内的元素输出描述:输出一个整数表示答案示例1输入49 3 1 10输出6示例

2020-11-20 14:15:51 1960

原创 数组中未出现的最小正整数

数组中未出现的最小正整数题目描述给定一个无序数组arr,找到数组中未出现的最小正整数例如arr = [-1, 2, 3, 4]。返回1​ arr = [1, 2, 3, 4]。返回5[要求]时间复杂度为O(n)O(n)O(n),空间复杂度为O(1)O(1)O(1)输入描述:第一行为一个整数N。表示数组长度。接下来一行N个整数表示数组内的数输出描述:输出一个整数表示答案示例1输入4-1 2 3 4输出1示例2输入41 2 3 4输出5备注:

2020-11-19 20:02:48 501

原创 求最短通路值

求最短通路值题目描述用一个整形矩阵matrix表示一个网格,1代表有路,0代表无路,每一个位置只要不越界,都有上下左右四个方向,求从最左上角到右下角的最短通路值例如,matrix为:1 0 1 1 11 0 1 0 11 1 1 0 10 0 0 0 1通路只有一条,由12个1构成,所以返回12[要求]时间复杂度为O(nm)O(nm)O(nm),空间复杂度为O(nm)O(nm)O(nm)输入描述:第一行两个整数N,M表示矩形的长宽接下来N行,每行一个长度为M的字符串表示矩形输出描

2020-11-18 09:58:53 270

原创 数组的partition调整补充问题

数组的partition调整补充问题题目描述给定一个数组arr,其中只可能含有0、1、2三个值,请实现arr的排序[要求]时间复杂度为O(n)O(n)O(n),空间复杂度为O(1)O(1)O(1)输入描述:第一行一个整数N。表示数组长度接下来一行N个整数表示数组内的数输出描述:输出N个整数,表示排序后的结果示例1输入52 0 1 2 0输出0 0 1 2 2备注:1⩽N⩽1051 \leqslant N \leqslant 10^51⩽N⩽105保证arri=0/1/

2020-11-17 21:30:26 736

原创 数组的partition调整

数组的partition调整题目描述给定一个有序数组arr,调整arr使得这个数组的左半部分[1,n+12][1, \frac{n+1}{2}][1,2n+1​]没有重复元素且升序,而不用保证右部分是否有序例如,arr = [1, 2, 2, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 8, 8, 9],调整之后arr=[1, 2, 3, 4, 5, 6, 7, 8, 9, …]。[要求]时间复杂度为O(n)O(n)O(n),空间复杂度为O(1)O(1)O(1)输入描述:第一行

2020-11-16 12:46:29 146

原创 不包含本位置值的累乘数组

不包含本位置值的累乘数组题目描述给定一个数组arr,返回不包含本位置值的累乘数组例如,arr=[2,3,1,4],返回[12, 8, 24, 6],即除自己外,其他位置上的累乘[要求]时间复杂度为O(n)O(n)O(n),额外空间复杂度为O(1)O(1)O(1)输入描述:第一行有两个整数N, P。分别表示序列长度,模数(即输出的每个数需要对此取模)接下来一行N个整数表示数组内的数输出描述:输出N个整数表示答案示例1输入4 1000000072 3 1 4输出12 8 24

2020-11-15 20:39:51 104

原创 边界都是1的最大正方形大小

边界都是1的最大正方形大小题目描述给定一个N×NN \times NN×N的矩阵matrix,在这个矩阵中,只有0和1两种值,返回边框全是1的最大正方形的边长长度、例如0 1 1 1 10 1 0 0 10 1 0 0 10 1 1 1 10 1 0 1 1其中,边框全是1的最大正方形的大小为4×44 \times 44×4,所以返回4[要求]时间复杂度为O(n3)O(n^3)O(n3),空间复杂度为O(n2)O(n^2)O(n2)输入描述:第一行一个整数N。表示矩阵的长宽。接下

2020-11-14 15:18:18 195

原创 打印N个数组整体最大的Top K

打印N个数组整体最大的Top K题目描述有N个长度不一的数组,所有的数组都是有序的,请从大到小打印这N个数组整体最大的前K个数。例如,输入含有N行元素的二维数组可以代表N个一维数组。219, 405, 538, 845, 971148, 55852, 99, 348, 691再输入整数k=5,则打印:Top 5: 971, 845, 691, 558, 538[要求]时间复杂度为O(klog⁡k)O(k \log k)O(klogk),空间复杂度为O(klog⁡k)O(k \log k)

2020-11-13 13:39:35 243

原创 数组中子数组的最大累乘积

数组中子数组的最大累乘积题目描述给定一个double类型的数组arr,其中的元素可正、可负、可0,返回子数组累乘的最大乘积。例如,arr=[-2.5, 4, 0, 3, 0.5, 8, -1],子数组[3, 0.5, 8]累乘可以获得最大的乘积12,所以返回12[要求]时间复杂度为O(n)O(n)O(n),空间复杂度为O(1)O(1)O(1)输入描述:第一行一个整数N。表示数组长度。接下来一行N个浮点数表示数组内的数输出描述:输出一个浮点数表示答案,保留到小数点后两位示例1输入7-

2020-11-12 13:00:09 126

原创 在数组中找到一个局部最小的位置

在数组中找到一个局部最小的位置题目描述定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]<arr[1],那么arr[0]是局部最小;如果arr[N-1]<arr[N-2],那么arr[N-1]是局部最小;如果0<i<N-1,既有arr[i]<arr[i-1],又有arr[i]<arr[i+1],那么arr[i]是局部最小。给定无序数组arr,已知arr中任意两个相邻的数不相等。写一个函数,只需返回arr

2020-11-11 17:07:07 145

原创 子矩阵的最大累加和问题

子矩阵的最大累加和问题题目描述给定一个矩阵matrix,其中的值有正、有负、有0,返回子矩阵的最大累加和例如,矩阵matrix为:-90 48 7864 -40 64-81 - 7 66其中,最大的累加和的子矩阵为:48 78-40 64-7 66所以返回累加和209。例如,matrix为:-1 -1 -1-1 2 2-1 -1 -1其中,最大累加和的子矩阵为:2 2所以返回4[要求]时间复杂度为O(n2m)O(n^2m)O(n2m),空间复杂度为O(nm)O(nm)

2020-11-10 17:21:29 126

原创 子数组的最大累加和问题

子数组的最大累加和问题题目描述给定一个数组arr,返回子数组的最大累加和例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子数组中,[3, 5, -2, 6]可以累加出最大的和12,所以返回12.[要求]时间复杂度为O(n)O(n)O(n),空间复杂度为O(1)O(1)O(1)输入描述:第一行一个整数N。表示数组长度接下来一行N个整数表示数组内的元素输出描述:输出一个整数表示答案示例1输入71 -2 3 5 -2 6 -1输出12备注:1⩽N⩽1

2020-11-09 17:20:31 120

原创 奇数下标都是奇数或者偶数下标都是偶数

奇数下标都是奇数或者偶数下标都是偶数题目描述给定一个长度不小于2的数组arr,实现一个函数调整arr,要么让所有的偶数下标都是偶数,要么让所有的奇数下标都是奇数注意:​ 1、数组下标从0开始!​ 2、本题有special judge,你可以输出任意一组合法解!同时可以证明解一定存在[要求]时间复杂度为O(n)O(n)O(n),额外空间复杂度为O(1)O(1)O(1)输入描述:第一行一个整数N。表示数组长度接下来一行N个整数表示数组内的数输出描述:输出N个整数。表示调整后的数组示例1

2020-11-08 15:13:28 176

原创 自然数数组的排序

自然数数组的排序题目描述给定一个长度为N的整形数组arr,其中有N个互不相等的自然数1-N。请实现arr的排序,但是不要把下标0∼N−10 \sim N-10∼N−1位置上的数通过直接赋值的方式替换成1∼N1 \sim N1∼N[要求]时间复杂度为O(n)O(n)O(n),空间复杂度为O(1)O(1)O(1)输入描述:第一行有一个整数N。表示数组长度接下来一行有N个互不相等的自然数1-N。输出描述:输出N个整数表示排序后的结果示例1输入52 1 4 5 3输出1 2 3 4

2020-11-07 19:03:43 500

原创 计算数组的小和

计算数组的小和题目描述数组小和的定义如下:例如,数组s = [1, 3, 5, 2, 4, 6],在s[0]的左边小于或等于s[0]的数的和为0;在s[1]的左边小于或等于s[1]的数的和为1;在s[2]的左边小于或等于s[2]的数的和为1+3=4;在s[3]的左边小于或等于s[3]的数的和为1;在s[4]的左边小于或等于s[4]的数的和为1+3+2=6;在s[5]的左边小于或等于s[5]的数的和为1+3+5+2+4=15。所以s的小和为0+1+4+1+6+15=27给定一个数组s,实现函数返回s

2020-11-06 21:06:05 323

原创 未排序数组中累加和小于或等于给定值的最长子数组长度

未排序数组中累加和小于或等于给定值的最长子数组长度题目描述给定一个无序数组arr,其中元素可正、可负、可0。给定一个整数k,求arr所有的子数组中累加和小于或等于k的最长子数组长度例如:arr = [3, -2, -4, 0, 6], k = -2. 相加和小于等于-2的最长子数组为{3, -2, -4, 0},所以结果返回4[要求]时间复杂度为O(n)O(n)O(n),空间复杂度为O(n)O(n)O(n)输入描述:第一行两个整数N, k。N表示数组长度,k的定义已在题目描述中给出第二行N个

2020-11-04 17:14:25 264

原创 0与1个数相等的最长子数组

0与1个数相等的最长子数组题目描述给定一个无序数组arr,其中元素只能是1或0。求arr所有的子数组中0和1个数相等的最长子数组的长度[要求]时间复杂度为 O(n)O(n)O(n),空间复杂度为 O(n)O(n)O(n)输入描述:第一行一个整数N,表示数组长度接下来一行有N个数表示数组中的数输出描述:输出一个整数表示答案示例1输入51 0 1 0 1输出4备注:1≤N≤1051 \leq N \leq 10^51≤N≤105arri=0 or ar

2020-11-03 15:54:05 511

原创 正数与负数个数相等的最长子数组

未排序数组中累加和为给定值的最长子数组系列问题补1题目描述:给定一个无序数组arr,其中元素可正、可负、可0。求arr所有子数组中正数与负数个数相等的最长子数组的长度。[要求]时间复杂度为O(n)O(n)O(n),空间复杂度为O(n)O(n)O(n)输入描述:第一行一个整数N,表示数组长度接下来一行有N个数表示数组中的数输出描述:输出一个整数表示答案示例1输入51 -2 1 1 1输出2备注:1≤N≤1051 \leq N \leq 10^51≤N≤105−100≤a

2020-11-02 13:29:02 289

空空如也

空空如也

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

TA关注的人

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