【发布时间】:2020-09-26 06:31:07
【问题描述】:
如果我的数组为 [7, 11, 13, 9, 4, 6],并且用户输入为 10
我想要刚好高于(或等于)10(在本例中为 11)的整数并将其替换为整数 - 10 (11 - 10)
我无法订购列表和二分搜索,因为我必须返回更新元素的索引。
我研究了对(索引,整数)对进行排序,然后进行二进制搜索,但是在更新之后我必须重新排序对数组以供下一个用户输入。
原始数组 = [7, 11, 13, 9, 4, 6]
排序数组 = [4, 6, 7, 9, 11, 13]
用户输入 = 10
输出 = 1(更新整数的索引)
更新的排序数组 = [4, 6, 7, 9, 1, 13]
重新排序的数组 = [1, 4, 6, 7, 9, 13]
用户输入 = 4
...
什么数据结构适合实现这个?
【问题讨论】:
标签: arrays data-structures hashmap binary-search avl-tree