File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3084,6 +3084,76 @@ m、n都是整数,n > 1并且m > 1
30843084
30853085
30863086
3087+ 第060节 2023年3月第1周流行算法题目解析
3088+
3089+ 来自学员问题
3090+ 给定一个1~N的排列,每次将相邻两数相加,可以得到新的序列,长度是N-1
3091+ 再对新的序列,每次将相邻两数相加,可以得到新的序列,长度是N-2
3092+ 这样下去可以最终只剩一个数字
3093+ 比如 :
3094+ 3 1 2 4
3095+ 4 3 6
3096+ 7 9
3097+ 16
3098+ 现在如果知道N,和最后的数字sum,反推最原始的序列是什么
3099+ 如果有多个答案,返回字典序最小的那个
3100+ 字典序看做所有数字拼起来的字符串字典序
3101+ 比如
3102+ 1, 10, 2... 拼起来是 1102...
3103+ 1, 2, 3, 4... 拼起来是 1234...
3104+ 认为 1, 10, 2...的字典序更小
3105+ 如果给定的n和sum,有答案,返回一个N长度的答案数组
3106+ 如果给定的n和sum,无答案,返回一个1长度的数组{ -1 }
3107+ 输入 : N = 4, sum = 16
3108+ 输出 : 3 1 2 4
3109+ 输入 : N = 10, sum = 4116
3110+ 输出 : 1 3 5 7 10 9 8 6 4 2
3111+ 0 < n <= 10, sum随意
3112+
3113+ 来自学员问题,国外算法面经帖子上的题
3114+ 给定一个数组A, 把它分成两个数组B和C
3115+ 对于数组A每个i位置的数来说,
3116+ A[i] = B[i] + C[i]
3117+ 也就是一个数字分成两份,然后各自进入B和C
3118+ 要求B[i], C[i] >= 1
3119+ 最终B数组要求从左到右不能降序
3120+ 最终C数组要求从左到右不能升序
3121+ 比如
3122+ A = { 5, 4, 5 }
3123+ 可以分成
3124+ B = { 2, 2, 3 }
3125+ C = { 3, 2, 2 }
3126+ 这是一种有效的划分
3127+ 返回有多少种有效的划分方式
3128+ 1 <= A的长度 <= 10^7
3129+ 1 <= A[i] <= 10^7
3130+ 最终结果可能很大,请返回对1000000007取余的结果
3131+
3132+ HH有一串由各种漂亮的贝壳组成的项链
3133+ HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,
3134+ 思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来越长。
3135+ 有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?
3136+ 这个问题很难回答... 因为项链实在是太长了
3137+ 于是,他只好求助睿智的你,来解决这个问题
3138+ 测试链接 : https://www.luogu.com.cn/problem/P1972
3139+ 请同学们务必参考如下代码中关于输入、输出的处理
3140+ 这是输入输出处理效率很高的写法
3141+ 提交以下所有代码,把主类名改成Main
3142+ 洛谷对java太不友好了,大量时间不是消耗在算法本身上,而是耗在了IO上
3143+ 多提交几次能全通过
3144+
3145+ 主席树详解
3146+ 测试链接 : https://www.luogu.com.cn/problem/P3834
3147+ 请同学们务必参考如下代码中关于输入、输出的处理
3148+ 这是输入输出处理效率很高的写法
3149+ 提交以下所有代码,把主类名改成Main,可以通过
3150+
3151+
3152+
3153+
3154+
3155+
3156+
30873157
30883158
30893159
You can’t perform that action at this time.
0 commit comments