- 博客(267)
- 收藏
- 关注
原创 ZT41 【模板】单源最短路Ⅰ ‖ 无权图
此后 m 行,第 i 行输入两个整数 ui 和 vi(1≦ui,vi≦n;ui不=vi) 表示图上第 i 条边单向连接顶点 ui 和 vi。v是顶点编号,next是一个指针,指向下一个邻接边节点,通过这种指针链的方式可以从同意给顶点出发的多条边连接起来,形成邻接表结构。对于给定的由 n 个顶点、m 条边构成的有向无权图(不一定连通)。2.通过宏定义的方式定义一个常量N,用于限定图中顶点数量等相关数组的最大容量,防止数组越界。1.有一个n个顶点,m条边(有方向)的有向无权图(不一定连通)
2025-03-07 18:47:37
1061
原创 ZT40 小苯的数字权值
小苯现在拿到了一个正整数 x,他希望将 x 分解为若干不等于 1 的数字(也可以不做分解),使得所有分解出的正整数乘积等于 x,且所有数字的权值之和尽可能大,你能帮帮他求出最大的权值吗。接下来 T 行,每行一个正整数 x (2≤x≤2×10^5),表示每组数据中小苯询问的数字 x。输出包含 T 行,每行一个正整数表示每组测试数据的最大权值和。第二个测试数据中,将 10 分解为 2×5,权值和为 4。第一个测试数据中,无法分解,直接取 2 的权值为 2。小苯定义一个数字的权值为:该数字的因子个数。
2025-03-06 18:45:55
731
原创 ZT39 小红的取模构造
如果y%x=1那么y=x+b=x+b或者y=b=1,x大于y,因为需要x是y的倍数,所以x刚好可以等于2。3.所以我们先让y=1,然后x=a+y=a+1,这样的话x%y=a+1%1=a。会有问题,因为a+b%b得到的值不是a12而是0,为什么呢,因为a是b得倍数,然后y=1+b-1=b,然后x=a+1-1+b这样的话y%x=b%a+b=b。所以如果某一个a是0得时候,x是y得2倍,y则等于b,x则等于2b。比如y=1,x=6,x%y = 6%1 = 5。所以我们可以让y = 7,x=7+6-1=12。
2025-03-06 18:45:36
874
原创 ZT38 小美的外卖订单编号
美团商家的订单发起时,订单编号最开始从 1 开始,后续每发起一个订单,订单编号便在上一订单编号的基础上 +1。为了防止订单号过大,商家还可以设置一个编号上限m,当订单编号超过m时,将又从 1 开始编号。小美想知道,当订单编号上限为m时,第x个订单编号是多少?2.如果x超过了m那么需要x对m取余,此时需要注意如果余数为0。接下来q行,每行两个整数m,x(1≤m,x≤10^9)。1.如果x小于等于m证明没有超过一轮,直接输出x就可以了。3.m代表订单号上限,x代表订单号。q行,每行一个整数表示答案。
2025-03-05 18:43:41
652
原创 ZT26 小球投盒
输出一个整数,表示第几次操作之后,所有盒子里至少都有一个小球,如果一直无法达到这个目标,输出 −1−1。小红想知道,第几次操作之后,所有盒子里至少都有一个小球,如果一直无法达到这个目标,输出 −1。接下来 m 行,每行两个整数 ti 和 xi,表示第 i 次操作的类型和 x 的值。操作类型2:向编号不为x的所有盒子(n-1个)放入一个小球。三次操作之后,所有盒子里都至少有一个小球。第二次操作后,盒子 1、3、4 里有小球。第三次操作后,盒子 1、3、4 里有小球。
2025-03-05 18:43:02
800
原创 ZT25 小红的子序列逆序对
然后计算当前元素a[i]对逆序对数量的贡献,计算方式是i - query(a[i]),这里i可以理解为当前元素a[i]在原数组中的位置query(a[i])获取的是小于等于a[i]的元素个数,那么i - query(a[i])就表示在当前元素a[i]之前比它大的元素个数,也就是以a[i]为较小数形成的逆序对数量,将这个贡献累加到res变量中不断更新res的值来记录总的逆序对数量。[2,3,1]的逆序对数量为2,[2,1]和[3,1]的逆序对数量为1,其余逆序对数量为0。//数组a用于存储输入的原始数组,
2025-03-04 19:01:07
843
原创 ZT24 小红结账
现在小红有 n 张账单,每张账单记录了有 k 个人一起吃饭,以及吃饭的消费 c ,现在小红需要计算每个人需要转给小红多少钱。第一行输入两个整数 n,m(1≤n,m≤10^5) 表示账单数和除小红外的总人数(分别用 1 到 m 表示)。由于大家都比较喜欢整数,所以大家每张账单会转给小红 ⌈c/k⌉ , ⌈x⌉ 表示对 x 进行上取整。第一行输入两个整数 k(2≤k≤m+1),c(1≤c≤10^9) 表示一起吃饭的人数,花费。输出 m 个整数,表示每个人要给小红转账的总金额。
2025-03-04 19:00:50
494
原创 ZT23 小美的蛋糕切割
小美有一个矩形的蛋糕,共分成了 n 行 m 列,共 n×m 个区域,每个区域是一个小正方形,已知蛋糕每个区域都有一个美味度。小美希望两个人吃的部分的美味度之和尽可能接近,请你输出∣s1−s2∣的最小值。(其中s1代表小美吃的美味度,s2代表小团吃的美味度)。接下来的 n 行,每行输入 m 个正整数 aij ,用来表示每个区域的美味度。3.分别模拟横切和竖切蛋糕,并记录美味度之和之差的绝对值的最小值。3.现在希望切一刀,使得两块蛋糕的美味度之和的差的绝对值尽量小。左边蛋糕美味度之和是8。
2025-03-03 18:43:20
365
原创 ZT22 小美走公路
有一个环形的公路,上面共有n站,现在给定了顺时针第i站到第i+1站之间的距离(特殊的,也给出了第n站到第 1 站的距离)。小美想沿着公路第x站走到第y站,她想知道最短的距离是多少?第二行输入n个正整数ai,前n−1个数代表顺时针沿着公路走,i站到第i+1站之间的距离;最后一个正整数代表顺时针沿着公路走,第n站到第 1 站的距离。3.逆时针则是从a0到ax-1,ay到an再加上第n站到第1站的距离。第一行输入一个正整数n,代表站的数量。3.以及顺时针走第n站到第1站的距离。5.求问从x到y的最短距离。
2025-03-03 18:42:53
282
原创 ZT21 【模板】差分
对于给定的长度为 n 的数组{a1,a2,…,an} ,我们有 m 次修改操作,每一次操作给出三个参数 l,r,k ,代表将数组中的 al,al+1,…5.最后我们遍历两个数组,输出结果结果是原数组a[i]加上dp[i]数组(dp数组记录了所有的区间增加和减少)此后 m 行,每行输入三个整数 l,r,k(1≦l≦r≦n;2.每次操作有三个参数l,r,k,代表将数组中的al到ar(l和r表示下标)全都加上k的值。第一行输入两个整数 n,m(1≦n,m≦10^5) 代表数组中的元素数量、操作次数。
2025-03-02 21:21:33
297
原创 ZT20 【模板】静态矩阵和(二维前缀和)
3.如何得到矩阵和的值?matrixsum[x][y] = matrixsum[x - 1][y] + matrixsum[x][y - 1] - matrixsum[x - 1][y - 1] + matrix[x][y]此后 q 行,每行输入四个整数 x1,y1,x2,y2(1≦x1≦x2≦n;子矩阵和查询:输出左上角为(x1,y1) 、右下角为(x2,y2) 的子矩阵的元素之和,即。第一行输入三个整数 n,m,q(1≦n,m,q,n×m≦5×10^5) 代表矩阵的长宽、操作次数。
2025-03-02 21:20:47
474
原创 ZT19 【模板】线段树1
这样的操作是基于树状数组的特性,它通过一种特殊的机构,使得对单点的修改能够高效地更新与之相关的多个节点(这些节点的索引变化是由lowbit函数决定的规律),从而保证后续查询区间和时能够快速得到正确结果。如果是操作类型2,表示是区间求和操作,要求计算原始数组a中从索引x到索引y的区间和。接着通过一个for循环,从1到n遍历,每次调用add函数,将a数组中每个元素的值按照其对应的索引添加到树状数组tree中,完成树状数组的初始化,使得树状数组能够正确反映原始数组元素的情况,为后续的操作做准备。
2025-03-01 11:36:12
1005
原创 ZT18 【模板】静态区间和(前缀和)
对于给定的长度为 n 的数组 {a1,a2,…5.只需要计算前r的数(sum[r - 1])的和减去前l-1个数(sum[l - 2])的和就可以。∙ ∙ 区间和查询:输出 [l,r] 这个区间中的元素之和,即 ∑i等于l到r的ai(的和)。,an(−10^9≦ai≦10^9) 代表初始数组。第一行输入两个整数 n,q(1≦n,q≦10^6) 代表数组中的元素数量、操作次数。此后 q 行,每行输入两个整数 l,r(1≦l≦r≦n) 代表区间和查询。4.求n的每个区间内数值相加的和。
2025-03-01 11:35:51
341
原创 ZT37 【模板】快速幂Ⅰ ‖ 整数
将指数b转换为二进制形式,根据二进制位上的值来决定是否将当前的结果ans乘以底数a的相应次幂(通过不断对a进行平方操作来快速得到不同次幂的值),同时每一步都对p取模,这样可以避免中间结果过大导致整数溢出,并且高效的计算出最终结果。最后执行b>>=1,将b的二进制位表示右移一位,相当于去掉已经处理过的最低位,继续处理下一位。如此反复,直到b值为0,此时ans中存储的就是a的b次方对p取模的最终结果。对于给定的三个正整数 a,b,p ,计算 a的b次方modp。2.每组数据包含a,b,p三个正整数。
2025-02-28 19:54:13
302
原创 ZT36 小红和小紫的取素因子游戏
小红和小紫拿到了一个正整数x,她们每次可以选择x的一个因子k(k>1),把x除以k,但要求k必须是素数。第二次她们拿到的数是12,小红取12的素因子2,12/2=6,小紫取6的素因子2,6/2=3,小红取3的素因子3,3/3=1,然后小紫无法继续取数,小红获胜。第一次她们拿到的数是5,小红取5,5/5=1,小紫无法继续取数,小红获胜。5.小红先手,谁先不能操作谁输,假设两个人都足够聪明,问每次胜利者是谁。接下来的t行,每行输入一个正整数x,代表小红和小紫拿到的正整数。如果小红获胜,输出一行字符串"kou"
2025-02-28 19:53:52
331
原创 ZT35 游游的最小公倍数
假设两个数a和b,用较大数a除以较小数b,得到商q和余数r,即a=b*q+r,此时a和b的最大公约数就等于b和r的最大公约数即gcd(a,b) = gcd(b,r),然后把b当作新的a,r当作新的b,重复除法运算求余的过程直到余数为0,此时的除数就是最原来a和b的最大公约数。游游拿到了一个正整数n,她希望找到两个正整数a和b(a≤b),使得a+b=n,且a和b的lcm(最小公倍数)尽可能大。对于每组询问,输出一行两个正整数a和b,用空格隔开。第二组询问,1和3的最小公倍数是3,优于2和2的最小公倍数2。
2025-02-27 20:07:35
475
原创 ZT17 小欧安排座位
首先读题,仔细看描述中的内容,发现需求是1.有n个小朋友,编号是1....n2.有一个字符串由0和1组成,长度为n(和小朋友数量相同)3.0代表不独特,1代表独特4.如果小朋友不独特,那么给他安排它编号的位置就可以5.如果小朋友独特,给他安排不同于他座位编号的位置6.尽量满足最多的小朋友(不用一定满足)1.如果独特的数量只有1个,那么无法满足,因为没有与之交换位置的2.如果独特的数量大于1个,那么我们记录下第一个独特小朋友的编号,3.将后面小朋友的座位依次前移,然后最后一位小朋友编号的位置给第一位独特小朋友
2025-02-27 20:07:20
514
原创 ZT16 小欧的括号嵌套
括号嵌套层数是指在一个字符串中,以左括号 "(" 和右括号 ")" 形成的括号对的最大嵌套深度。例如,在字符串 "((())())" 中,括号嵌套层数最大值为 3。2.如果满足条件,我们可以直接先输出r个左括号,然后再输出r个右括号。3.()一个括号的深度为1,(())一个括号包括一个括号,深度为2。2.构造最大深度为r的括号序列,其中括号的数量为n*2。1.首先,为了满足条件我们的深度r应该小于等于n。一行两个整数n,r(1≤r≤n≤10^5)。2.括号序列的嵌套层数最大值为r。1.给定两个数字n和r。
2025-02-26 19:01:43
522
原创 ZT15 小红的区间查询
接下来的q行,每行输入三个正整数op,i,x,用空格隔开,其中op代表操作的类型,i和x的含义见题目描述。第一次为查询操作,此时数组为[1,2,3,4,5],前三个数中有一个1。第三次为查询操作,此时数组为[2,2,3,4,5],前三个数中没有1。2. 输入2 i x,代表查询前i个正整数有多少个数等于x。第二次为修改操作,将数组修改为[2,2,3,4,5]。1. 输入1 i x,代表将第i个正整数修改为x。对于每次询问,输出一个整数,代表查询的结果。2.根据操作符号不同,对数组进行相关的操作。
2025-02-26 19:01:11
560
原创 ZT14 小红的好数
其中,小红定义“好数”为:五个数位上的数都不相同。例如,03265、54321为好数,而66015,00983则不是好数。2.那么诸位往下减,如果遇到数字相同了,就尝试把前面的数字减小。1.求问在所有的五位数中,第k大的没有重复数字的数字是多少。1.最大的没有重复数字的五位数应该是98765,一个长度为5的字符串,用来表示第k大的好数。首先读题,仔细看描述中的内容,发现需求是。2.(没有重复数字的数字被称为好数)小红想知道,第k大的好数是多少?第6大的好数,为98760。最大的好数,为98765。
2025-02-25 18:33:48
316
原创 ZT13 小红的数字删除
小红拿到了一个正整数,她每次可以删除其中一个数位,但必须保证每次删除后,该正整数都是3的倍数且大于0。小红想知道,自己最多可以进行多少次这样的删除操作?第一次必须删除第一个数1(删除其他的数均不能保证变成3的倍数),该数变为3252。3.可以进行删除操作,但是必须保证删除后(删除前的数字不必须)的数字必须是3的倍数。有多组数据,第一行输入一个整数T,代表数据组数。5.问对于每组数据,可以进行多少次删除操作。1.对于每个数字,第一次删除的时候,可以。输出T行,表示每组数据的答案。第二组数据:可以删两次3。
2025-02-25 18:33:34
425
原创 ZT12 小欧的数组修改
小欧拿到了一个数组,她可以修改其中任意一个元素的值(也可以不修改),使得出现次数最多的那个元素次数尽可能多。你能求出这个最多的出现次数吗?4.如果最多出现次数小于数组的大小,输出一个数字等于这个最多出现次数+1的值。将1修改为3,数组变成[3,2,3],3出现了2次。由于只有一个数,所以无论是否进行修改,它都只出现了1次。2.如果出现次数和数组大小一样(证明只有一个数字)第二行输入n个正整数ai,代表数组的各个元素。一个正整数,代表小欧操作后出现最多的元素次数。1.有一个数组,你可以改变里面的一个数字。
2025-02-24 19:18:14
253
原创 ZT11 压缩二维码
二维码是一个为 2n∗2n 的方格子,里面每个 1∗11∗1 的格子都有黑或者白两种颜色。经过检查,小欧发现,服务器会生成一张二维码的图片,发送给客户端,而传输图片的流量大小过大,导致服务器瘫痪。小欧发明了一种编码方式:用 2n∗2n 长度的二进制串来表示一个边长为 n 的二维码。他会逐行扫描该二维码,并且把扫描到的内容变成 0,10,1 比特流,其中 0 代表白色,1 代表黑色。2n∗2n/4 个整数,代表转换后的比特流。2.有2的n次方乘2的n次方个'.'和'#'号,点代表0,井代表1,
2025-02-24 19:17:59
418
原创 ZT10 游游的除2操作
3.然后对数组内每个元素进行除2的操作并记录次数,除到和最小值相同或者小于最小值。游游想知道,她最少多少次操作可以使得所有元素相等?5.问最少的除2操作(使数组内数字相等)是多少次。第二行输入n个正整数ai,代表数组的元素。第一行输入一个正整数n,代表数组的长度。首先读题,仔细看描述中的内容,发现需求是。4.除2的目的是为了让数组内所有数字相等。4.如果发现某个数字除2之后小于最小值,·选择一个元素,使其除以2,向下取整。2.对数组内的数字进行除以2的操作。一个整数,代表最少的操作次数。
2025-02-23 21:20:38
220
原创 ZT9 游游的字母翻倍
游游拿到了一个长度为n的字符串,她每次操作会选择一个区间[l,r],将第l个字母到第r个字母各重复一次,插入到该字母的后面。例如,对于字符串"abcd",若选择区间[2,3]进行操作,字符串将变成"abbccd"游游将进行q次操作。她想知道,q次操作结束后,最终的字符串是什么样子?第二行输入一个仅由小写英文字母组成的字符串,代表初始的字符串。接下来的q行,每行输入两个正整数l,r,代表操作的区间。2.翻倍的方法是,在在每个字母后面插入一个相同的字母。一个字符串,代表所有操作结束后形成的字符串。
2025-02-23 21:20:20
269
原创 ZT8 小红的字符生成
小红希望最终可以生成 x 个'a',你能帮小红求出初始的字符串吗?请你输出长度最短的合法字符串,有多解时输出任意即可。但需要保证输出的是最短字符串。1.两个'a'可以变成一个'b',两个'b'可以变成一个'c'......4.再接着x/2得结果对2求余如果得1,证明有b,将b加入结果字符串。例如,可以把'b'变成两个'a',可以把'z'变成两个'y'。2.求问给定一个正整数x,代表a的数量,能变成的最短字符串。2.将x对2求余,如果得1,证明有a,将a加入结果字符串。一个正整数x,代表最终的'a'的数量。
2025-02-22 19:32:07
488
原创 ZT7 小红的排列构造
长度为n的排列是指:一个长度为n的数组,其中1到n每个正整数恰好出现1次。例如[2,1,3]是排列,而[1,3,4,3]不是排列。小红希望你构造一个排列,满足对于排列中的每一项ai都满足:ai+i均不是质数(下标i从1开始)。长度为1的排列只有[1],由于1+1=2是质数,不合法。所以不存在可以构造的排列。3 2 1(可以,3+1=4,2+2=4,1+3=4)3 2 1 4(4+4=8,不是质数)a1+1=9+1=10,不是质数。a2+2=4+2=6,不是质数。3 1 2不行(1+2=3是质数)
2025-02-22 19:31:50
491
原创 ZT6 小红的字符串构造
首先读题,仔细看描述中的内容,发现需求是1.给定一个字符串s2.希望能构造一个字符串t,使得它们使用的字符集相同(数量可以不同)3.并且t的每个位置的字符都和s不同。1.如果只有一个字符的话无法做到每个位置的字符都不同2.首先遍历一次s将s使用的字符全部保存到一个数组c中,3.然后我们再次遍历s,并在遍历的同时构造一个字符串t4.字符串t的字符可以按照数组c的cindex数值来寻找,并且不能和s相同5.首先先将所有的字母使用一遍,后面只要和s同位置不同就可以了使用的语言是C
2025-02-21 10:31:23
423
原创 ZT5 小欧的奇数
小欧有一个长度为 n 的数组,现在他想挑出 3 个数,使得这 3 个数的和为奇数,如果可以挑出则输出 "YES",否则输出 "NO"。如果可以挑出 3 个数,使得这 3 个数的和为奇数,则输出 "YES",否则输出 "NO"。一行 n 个整数a1,a2,…,an,表示数组的元素。1.如果想要有3个数字的和为奇数,那么至少我们要有一个奇数。4.如果有1个奇数+2个偶数或者3个奇数的话就可以。2.求问是否有3个数字,它们的和为奇数。一行一个整数 n,表示数组的长度。选取a1,a2,a4 即可。
2025-02-21 10:31:07
386
原创 ZT4 游游的整数切割
游游拿到了一个正整数,她希望将它切割成两部分,使得它们的和为偶数。游游想知道有多少种合法的切割方案?切割成1+03=4是合法的,但10+3=13为奇数,不符合要求。所以有1种合法方案。4.所以最后一位是奇数那么就有所有数字中奇数的数量减1个方式。5.如果最后一位是偶数则有所有数字中偶数的数量减1种方式切割。1.切割整数使得切割后的两个部分相加为偶数。1.因为输入很长,所以肯定不能用整数的方法。首先读题,仔细看描述中的内容,发现需求是。注:切割后的正整数允许出现前导零。一个整数,代表切割的方案数。
2025-02-20 11:18:14
371
原创 ZT3 游游的数字圈
提示:数字0、6、9这三种数字各有一个圆圈,数字8有两个圆圈。5.那么给定一个字符串,仅包含数字,请问里面包含的圆圈数量。游游拿到了一串数字,她想知道这串数字一共有多少个圆圈?首先读题,仔细看描述中的内容,发现需求是。2.遍历字符串,计算圆圈数量即可。一个字符串,仅由数字字符组成。长度不超过100000。该字符串包含的圆圈数量。1.如果数字0有一个圆圈。2.数字6有一个圆圈。3.数字9有一个圆圈。4.数字8有两个圆圈。
2025-02-20 11:18:01
315
原创 ZT2 小美的因子查询
小美对偶数因子很感兴趣,她将进行 T 次询问,每次都会给出一个正整数 x,请你告诉她 x 是否存在至少一个偶数因子。也就是说 x 是否存在某个。如果 x 存在至少一个偶数因子,在一行上输出 YES ,否则输出 NO。在一行上输入一个整数 x (1≤x≤10^9) 代表小美询问的正整数。11 不存在偶数因子,44 存在偶数因子 22。注1:y 是 x 的。首先读题,仔细看描述中的内容,发现需求是。3.如果能被2整除那么证明就有偶数因子。,当且仅当 xmody=0。2.问数据是否有偶数因子。
2025-02-19 10:29:54
808
原创 ZT1 23年OPPO-a的翻转
一个正整数a(1⩽a⩽10^9)。保证a在十进制下每一位都非00。正整数a=12,翻转得到b=21,a+b=33。1.先定义一个临时变量容纳翻转之后的数字,首先读题,仔细看描述中的内容,发现需求是。数字a翻转数位得到数字b,计算a+b。2.求它翻转之后的数字和他自己本身的和。一个正整数表示答案。1.给定一个正整数,
2025-02-19 10:29:39
379
原创 ZT30 游游开车出游
游游准备开车出游,她的车非常特殊,油越多则最高速度越快,即最高速度和油量是成正比的。游游开车的总里程为y,假设游游始终以最高速度行驶(即忽略加速时间),游游想知道,自己最少花费多少时间可以完成出游?4.已知游游的车初始的最高速度为v0,当游游花费了t时间加油时,车的最高速度会变成v0 + t * x。已知游游的车初始的最高速度为v0,当游游花费了t时间加油时,车的最高速度会变成v0+t∗x。1.游游准备开车出游,她的车非常特殊,油越多则最高速度越快,6.输入描述:三个整数v0,x,y,用空格隔开。
2025-02-18 10:14:09
338
原创 牛客网面试必刷TOP101-11模拟BM101 设计LFU缓存结构
这个策略为:在缓存结构的K条记录中,哪一个key从进入缓存结构的时刻开始,被调用set或者get的次数最少,就删掉这个key的记录;5.这个策略为:再缓存结构的K条记录中,哪一个key从进入缓存结构的时刻开始,被调用set或者get的次数最少,就删掉这个key的记录;4.但是缓存结构中最多放K条记录,如果新的第K+1条记录要加入,就需要根据策略删掉一条记录,然后才能把新记录加入。12.若opt=2,接下来一个整数x,表示get(x),若x未出现或已被移除,则返回-1。实现这个结构,K作为参数给出。
2025-02-18 10:13:56
757
原创 牛客网面试必刷TOP101-11模拟BM100 设计LRU缓存结构
/将(3,3)插入缓存,缓存容量是2,故去掉某尾的key-value,缓存是{"3"=3,"1"=1},set操作返回"null"//将(4,4)插入缓存,缓存容量是2,故去掉某尾的key-value,缓存是{"4"=4,"3"=3},set操作返回"null"output=s.get(1);// 因为get(1)操作,缓存更新,缓存是{"1"=1,"2"=2},get操作返回"1"//因为get(3)操作,缓存更新,缓存是{"3"=3,"4"=4},get操作返回"3"s.set(1,1);
2025-02-17 15:13:19
736
原创 牛客网面试必刷TOP101-11模拟BM99 顺时针旋转矩阵
6.所以可以看出来,如果我们将a12和a21的值交换,a13与a31的值交换,a32与a23的值交换。矩阵转置是将上三角矩阵元素与下三角矩阵元素依据对角线位置对称互换,且该过程是可逆的。3.具体做法:step1:遍历矩阵的下三角矩阵,将其与上三角矩阵对应的位置互换,2.给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵。给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵。有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。下三角矩阵是一种特殊的矩阵结构,
2025-02-17 15:13:05
311
原创 牛客网面试必刷TOP101-11模拟BM97 旋转数组
一个数组A中存有 n 个整数,在不允许使用另外数组的前提下,将每个整数循环向右移 M( M >=0)个位置,即将A中的数据由(A0 A1 ……8.具体做法:step1:因为m可能大于n,因此需要对n取余,因为每次长度为n的旋转数组相当于没有变化。step2:第一次将整个数组翻转,得到数组的逆序,它已经满足了右移的整体出现在了左边。step3:第二次就将左边的m个元素单独翻转,因为它虽然移到了左边,但是逆序了。5.提到前面时,会发现,由于旋转的数据超过一半,所以有一些数据会被放在后面。
2025-02-16 10:10:50
386
原创 牛客网面试必刷TOP101-010贪心算法BM96 主持人调度(二)
并且活动主持人需要全程参与活动,换句话说,一个主持人参与了第 i 个活动,那么该主持人在 (starti,endi) 这个时间段不能参与其他任何活动。有 n 个活动即将举办,每个活动都有开始时间与活动的结束时间,第 i 个活动的开始时间是 starti ,第 i 个活动的结束时间是 endi ,举办某个活动就需要为该活动准备一个活动主持人。step2:遍历n个活动,如果某个活动开始的时间大于之前活动结束的时候,当前主持人就够了,活动结束时间往后一个。6.求为了成功举办这n个活动,最少需要多少名主持人。
2025-02-16 10:10:38
459
原创 牛客网面试必刷TOP101-09双指针BM93 盛水最多的容器
给定一个数组height,长度为n,每个数代表坐标轴中的一个点的高度,height[i]是在第i点的高度,请问,从中选2个高度与x轴组成的容器最多能容纳多少水。1.给定一个数组height,长度为n,每个数代表坐标轴中的一个点的高度。(3)数据保证能容纳最多的水不会超过整型范围,即不会超过2的31次方-1。3.可以利用贪心思想,最左边的设置为left,最右边的设置为right。3.请问,从中选2个高度与x轴组成的容器最多能容纳多少水。(2)当n小于2时,视为不能形成容器,请返回0。(1)你不能倾斜容器。
2025-02-15 11:15:48
462
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人