c**l 发帖数: 2661 | 1 一个数组 先去掉2个 记住他们的位置 然后 数组变成N-2 然后再找2个 去掉 问题
是 新的这两个的位置 怎么映射到最开始数组的位置?
例如 1 2 3 4 5 6 去掉3 5 位置时3 和5 新的数组 1 2 4 6 再去掉4 6 位置是 3和
4 这个3 和4 的位置映射到原来数组位置时4和6 怎么计算着新的映射的位置?
最好使用个算法
有人建议记录每个元素的 位置 因为 我有的 就是数组 里面元素就是数字 这好像
不太好弄
谢谢 |
m*****f 发帖数: 1243 | 2 不用改动原先数组,维护一个bit vector纪录“去掉”信息? |
c**l 发帖数: 2661 | 3 问题 新数组 去掉的 如何映射回 元数组的位置
例如 a1= [1 2 3 4 5 6]去掉 3 5 以后变成
a2 =[1 2 4 6 ]然后在去掉 4 6 这个 4 和6 在a2中的位置是 3 和4 但是 关键是 如
何计算出 在a1中的 位置 4 和6 是关键 ,要解决的就是这个
【在 m*****f 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 不用改动原先数组,维护一个bit vector纪录“去掉”信息?
|
r**u 发帖数: 1567 | 4 这个你就搞个vector记录每个位置的index,如果去掉一个元素,所有在它后面元素的
index--就行了,你试试。
【在 c**l 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 问题 新数组 去掉的 如何映射回 元数组的位置 : 例如 a1= [1 2 3 4 5 6]去掉 3 5 以后变成 : a2 =[1 2 4 6 ]然后在去掉 4 6 这个 4 和6 在a2中的位置是 3 和4 但是 关键是 如 : 何计算出 在a1中的 位置 4 和6 是关键 ,要解决的就是这个
|
c*****o 发帖数: 178 | 5 删掉2个元素将原数组分为3个部分,2个元素之前,当中,之后。在之前部分的元素被
删除映射回去不变,当中的-1,之后的-2. |