顺序表删除重复的元素代码
问:怎样用C语言实现递增的顺序表中删除相同的元素
- 答:/**
*删除递增顺序表中的重复元素,时间复杂度O(n)
*/
void deleteSame(SqlList * L){
int i=0,j=1;
int deleteLen = 0;
while(j<L->length){
while(L->data[i] == L->data[j]){
j++;
deleteLen++;
}
if(j-i>1){//证明有重复的元素
L->data[++i] = L->data[j];
}else{ //1 2 2 3 4
i++;
}
j++;
}
L->length -= deleteLen;
} - 答:求1*2*3*……….*10。(循环)
答案
void main()
{
int i=0,j=1;
for (i=2;i<=10;i++)
{
j*=i;
}
printf("%d",j);
return 0;
} - 答:相邻比较一下,这还难吗?
问:顺序表删除相同元素
- 答:第三个for语句,改成:
for(k=j;k<L.length-1;k++)
试一试。
问:python123上一道习题删除列表中重复元素求代码,或者帮我看看我的代码怎么改,初学,我感觉好像要大改?
- 答:代码如下,:
import random
m = int(input("m:"))
n = int(input("n:"))
random.seed(m)
randoms = [str(random.randint(0, 9)) for i in range(10)]
sort_randoms = list(set(randoms))
sort_randoms = sorted(sort_randoms, key=int)
print(randoms)
print(sort_randoms)
输出:
['9', '0', '6', '7', '9', '0', '3', '7', '7', '4']
['0', '3', '4', '6', '7', '9'] - 答:代码:
from random import *
m=int(input())
n=int(input())
seed(m)
l=list(map(lambda _:str(randint(0,9)),range(n)))
print(l)
l=list(set(l))
l.sort()
print(l)
运行截图:
本文来源: https://www.lw50.cn/article/a9c9508f143d22a726ecdeb6.html