解题报告--删除重复字符
题目:
流程图:
核心代码:
int r=1;
int j,k,l=0;
c[0]=a[0];
for(j=1;j<=i;j++)
{
r=1;
for(k=l;k>=0;k--)
{
if(a[j]==c[k])
{
r=0;
break;
}
}
if(r)
{
l++;
c[l]=a[j];
}
}
解题思路:
如核心代码所示,关键点在于 变量 l 应该初始化为0,并根据新数组存入元素,动态变化。一、减少了运行时间,优化代码。二、避免了不必要的错误。
这样的算法可能不是最简便的,但是容易理解。将原数组元素存入新数组中,并且先行判断,在新数组中是否存在当前所要存入的元素,若否则存入,若存在,则继续循环。