列表去重标签法,scratch中删除列表重复

列表去重,就是把一组有重复数据的数据序列,删除重复的数据。如(1,9,7,3,9,3),去重后得到(1,9,7,3),这并不是一个特殊的具体算法,却在很多比赛活动中遇到,我们一起来弄清楚下吧!

scratch中删除列表重复效果
scratch中删除列表重复效果

使用列表去重标签法思路分析:

第1次:将位置1的数据“1”, 逐一和后面的5个数据比较,是否相等,若相等则将该数据做一个标签 ,这里采用将该数据修改为“a”的办法,得到如下(1,9,7,3,9,3)

第2次:若位置2的数据不等于“a”,则将位置2的数据,逐一和后面的4个数据比较,是否相等,若相等则将该数据做一个标签,这里采用将该数据修改为“a” 的办法。(1,9,7,3,a,3)

第3次:若位置3的数据不等于“a”,则将位置3的数据,逐一和后面的3个数据比较,是否相等,若相等则将该数据做一个标签,这里采用将该数据修改为“a” 的办法。(1,9,7,3,a,3)

第4次:若位置4的数据不等于“a”,则将位置4的数据,逐一和后面的2个数据比较,是否相等,若相等则将该数据做一个标签,这里采用将该数据修改为“a” 的办法。(1,9,7,3,a,a)

第5次:位置5的数据等于“a”, 本次无须比较,直接跳过,得到如下(1,9,7,3,a,a)。

第6次:位置6的数据等于“a”, 本次无须比较,直接跳过,得到如下表格。(1,9,7,3,a,a)。

scratch中删除列表重复,使用列表去重标签法:

步骤一、创建一个list数据列表,将6个(1,9,7,3,9,3)数据,加入到列表元素中。

步骤二、新建变量i、j,表示遍历的变量,代表每次遍历的次数。

步骤三、将遍历,将满足两个值相等的数据,重复数据修改为“a”

遍历将相同元素的值用a替代
遍历将相同元素的值用a替代

步骤四、再来去掉数据a的步骤;但是会遇到一个问题,两个连续元素a的话,只能拿删除一个a,还有一个a删除不了。例如,第五项删除后,第六项是遍历不出的,所以删不掉,因为第五项删除后,第六项就成为了第五项;所以这里需要用个一循环来排查;代码如下:

两个连续元素a的删除处理方法
两个连续元素a的删除处理方法

scratch相关的编程重要算法:

scratch二分查找算法

scratch选择排序算法

scratch冒泡排序算法

最后更新时间:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

上一篇2022-11-18 17:02:46
下一篇 2022-11-21 18:53:39

相关推荐