【发布时间】:2016-04-12 05:38:20
【问题描述】:
给定一组未排序的字符,例如'a', 'c', 'd', 'b', 'a', 'b'。排序和删除带有空格的重复字符并将空格移到数组末尾的最佳方法是什么。例如'a', 'b', 'c', 'd', ' ', ' '; 没有在 Java 中使用额外的缓冲区、内存或集合 api?
【问题讨论】:
标签: java arrays replace duplicates character
给定一组未排序的字符,例如'a', 'c', 'd', 'b', 'a', 'b'。排序和删除带有空格的重复字符并将空格移到数组末尾的最佳方法是什么。例如'a', 'b', 'c', 'd', ' ', ' '; 没有在 Java 中使用额外的缓冲区、内存或集合 api?
【问题讨论】:
标签: java arrays replace duplicates character
public void checkduplicate()
{
char chnew =' ';
char[] ch ={ 'a', 'c', 'd', 'b' , 'a', 'b'};
for(int i =0 ; i<ch.length;i++)
{
for(int j =i+1 ;j<ch.length;j++)
{
if(ch [j]== ch[i] )
{
ch[j] = ' ';
}
if(ch[j] <ch[i] && ch[j] != ' ' )
{
chnew = ch[i];
ch[i] = ch[j];
ch[j] = chnew;
}
}
}
for(int k=0;k<ch.length;k++)
{
System.out.println(ch[k]);
}
}
【讨论】:
shift the empty spaces to end of array
char[] ch ={ 'a', 'a','c', 'd', 'b' , 'a', 'b'};