考虑一个数组 A = [5,1,7,2,3]
所有连续子数组 = { [5], [1], [7], [2], [3], [5,1], [1,7], [7,2], [2,3], [ 5,1,7], [1,7,2], [7,2,3], [5,1,7,2], [1,7,2,3], [5,1,7, 2,3]}
将上面集合中的所有数组替换为其中最大元素:
设置将如下所示: { [5], [1], [7], [2], [3], [5], [7], [7], [3], [7], [7] , [7], [7], [7], [7] }
频率信息:[5] -> 2、[1] -> 1、[7] -> 9、[2] -> 1、[3] -> 2
我的目标是找到上述频率信息。
我的方法:
首先列出 (x,y) 对。x是A中的元素,它的索引是y。
列表:[(5,1)、(1,2)、(7,3)、(2,4)、(3,5)]
相对于第一个元素按降序对列表进行排序。现在,
列表:[(7,3)、(5,1)、(3,5)、(2,4)、(1,2)]
算法:
def f( array, first_index, last_index):
->select an element from LIST starting from left which
is not …Run Code Online (Sandbox Code Playgroud)