题解 | #提取不重复的整数#
提取不重复的整数
https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1
#include <stdio.h>
#include <math.h>
#include <string.h>
#include<stdlib.h>
int main() {
char* num = malloc((int)pow(10, 8)*sizeof(char));
scanf("%[^\n\t]",num);
int base =0;
int len = strlen(num);
for(int i=len-1;i>=base;i--)
{
for(int j=i-1;j>=base;j--)
{
if(num[i]==num[j])
{
for(int k=j;k>0;k--)//
{
num[k]=num[k-1]; // 去重前移
}
len--;
j++;
base++;
}
}
}
for(int i=0;i<len;i++)
{
printf("%c",num[strlen(num)-1-i]);
}
free(num);
}
效率不是很高的一种方法,和另一位哥们有一些差别, 这里去重时前面的移动
联想公司福利 1502人发布
查看8道真题和解析