算法笔试模拟题精解之“相似数组” <29算法笔试模拟题精解之“相似数组”贡献者 | 张鹏飞简介:要解出相似数组的最长长度,即要求相似数组中的每个元素尽可能的小,把握这一点,结合下来的算法过程理解一下。题目描述等级:中等知识点:贪心、尺取法查看题目:相似数组现在有两个数组 a 和 b ,长度分别为 n 和 m。你可以对两者进行任意次数(包括零次)的下述操作:任选一段连续的区间 [l, r],将其替换为这段区间的所有数字的和。比如,对于[1, 3, 4, 5, 11, 9],你可以选择区间 [3, 5],并将其替换为 4+5+11=20,操作后的数组为 [1, 3, 20, 9]。你现在需要通过上述操作将两个数组变成相同的数组,相同的定义是:对于两个数组 a,b 必须长度相同,不妨设为 l,并且对于 1 <= i <= l,必有 a[i]=b[i]。如果这两个数组可以变成相同的数组,那么我们称这两个数组是相似数组,否则不是相似数组。我们并不在意操作的次数,我们只在意在这两个数组经过操作之后变成相同数组的时候最长的长度是多少,如果它们本来不相似请输出 -1。输入内容为四个部分,先两个数字 n
目录
171
0
收起右侧 展开右侧
程序员面试宝典 > 算法笔试模拟题精解之“相似数组”
  • 读书笔记
    我的笔记
    暂无相关笔记,快来写一篇吧!
点击浏览下一章>>