列表去重标签法,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冒泡排序算法

给TA赞助
共{{data.count}}人
人已赞助
综合资讯

什么是进制,scratch多进制转换

2023-5-14 11:01:59

综合资讯

二分查找算法,用scratch实现二分查找

2023-5-14 11:02:06

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索