我们假设有两个数组 a [。] 和 b [。] 具有相同的长度n并设计一个将返回 true <的函数/ strong>如果我们能找到一个订单
a[0]>b[0], a[1]>b[1], a[2]>b[2] ... a[n-1]>b[n-1]
否则返回 false
(例如{7,9,4},{7,6,3}
对的条目订单{7,9,4} & {6,7,3}
与条件匹配,而{7,9,4,5},{7,6,3,5}
对没有这样的订单)。
注意:无需打印订单,只需返回 true 或 false 。
NB2:请尽可能高效地计算算法(O(n)或更少?)
谢谢大家!
答案 0 :(得分:0)
首先对数组进行排序,如果它不满足您的需要,则不会有其他顺序。希望你能自己编码(这似乎是你的功课)。 可以是O(nlogn)。
或者不要排序!只需选择每次迭代的最大值,并在条件失败时立即中断/返回。这样,您就不必一直排序。 但这是O(n2)。
希望这会有所帮助。