有一堆数字,从1到100顺序排序。然后对这些数字进行了若干次移动,顺序打乱了。然后将某些数字删除。
通过一些操作后,又将数字重新从1到100顺序排序了。
但是需要通过一个方法:将这些数字排序成移动后未删除之前的顺序?
这堆数字是否有重复的,怎么删除的数字,按照什么规律。
如果这个规律可以根据剩下的数字倒退出来,得到删除数字的位置,那么就可以得到移动后未删除之前的顺序
虽然在可能恢复的情况下找到复原的算法比较困难,但是在数学上证明无法恢复的情形是很简单的。
只要你能找出一个反例,即存在这样两个乱序的序列,删除其中的某个或者某几个数字,得到的数字重新排序后构成完全相同的序列。
如果这个反例存在,那么很明显你没有办法找到一个算法,确定原始数据的序列。
你的排序算法一步一步记录下来,如果可逆的话就在走一遍逆回去
能不能写几行代码将删除前的序列保存一下 相当于一个旧版本一样的 如果可以这样做的话 问题就可以很简单了 只是您的任务要求可以么?
在删除方法中添加一个功能,存储这100个数据