一、找到相同的前置元素、后置元素;
1、旧数组为空,将新数组的剩余元素插入
;
2、新数组为空,将旧数组的剩余元素删除
;
3、新、旧数组都不为空,执行第二步。
二、找到需要被删除、插入、移动的元素
数组p:与新数组的长度相同,与新数组是相互映射关系,
元素在旧数组中的索引 存储在 元素在新数组中的位置
三、找到最少的移动次数
1、找到 P 数组的最长递增子序列
来做动态规划,新集合中不属于这个序列的将会被移动。
2、同时尾部遍历新数组和 LIS 序列,查看元素的位置是否能与 LIS 序列的任何一个值匹配:
a:可以匹配,保留位置;
b:不能匹配,移动到到前面;
c:找不到,插入元素;
网友评论