问题描述
从外界输入一组数字,实现排序。1、如果数字是3的就把这个数字删掉。2、如果是0或是能被5整除的数则保持下标不变。最好有java代码。
解决方案
解决方案二:
up
解决方案三:
这个问题没有什么难度!但是觉得你的需求有点问题!如果后面的数,比如末尾的数是55,但是又删掉了几个三!那么怎么保持55的下标不变呢!因为数据的长度变短了!
解决方案四:
如果想保持5的下标不变,那么3的位置只能由0来代替了0可以保持下标不变..
解决方案五:
引用2楼lulu0126的回复:
这个问题没有什么难度!但是觉得你的需求有点问题!如果后面的数,比如末尾的数是55,但是又删掉了几个三!那么怎么保持55的下标不变呢!因为数据的长度变短了!
位置不变就行,下标无所谓。比如输入4,10,3,7,0,6,1排序后为1,10,4,6,0,7
解决方案六:
读取输入的数字如果是0或者能被5整除的就把这个数和下标记录下来,如果是3则删除,否则把这个数字插入合适的位置,最后再把记录下来的0或者能被5整除的数插入它原来的位置(下标已经有了)
解决方案七:
哦是1,10,4,0,6,7
解决方案八:
引用5楼cuifanghua的回复:
读取输入的数字如果是0或者能被5整除的就把这个数和下标记录下来,如果是3则删除,否则把这个数字插入合适的位置,最后再把记录下来的0或者能被5整除的数插入它原来的位置(下标已经有了)
方便的话还是代码描述吧,呵呵
解决方案九:
引用7楼laplacepc的回复:
引用5楼cuifanghua的回复:读取输入的数字如果是0或者能被5整除的就把这个数和下标记录下来,如果是3则删除,否则把这个数字插入合适的位置,最后再把记录下来的0或者能被5整除的数插入它原来的位置(下标已经有了)方便的话 还是代码描述吧, 呵呵
方便的话,还是你自己代码描述吧,这些都是基础的东西。
解决方案十:
publicstaticvoidmain(String[]args){inttmp,i,j,max;inta[]={6,5,4,3,15,1,2,9,0,7,10,8,12,20,11};Listlist=newArrayList();for(i=0;i<a.length;i++){if(a[i]==3)continue;list.add(a[i]);}Integer[]b=newInteger[list.size()];Iteratorit=list.iterator();i=0;while(it.hasNext()){b[i]=(Integer)it.next();i++;}for(i=0;i<b.length;i++){if(b[i]%5==0||b[i]==0)continue;max=i;for(j=i+1;j<b.length;j++){if(b[max]>b[j])max=j;}if(i!=max){tmp=b[i];b[i]=b[max];b[max]=tmp;}}for(i=0;i<b.length;i++){System.out.print(b[i]+"");}}}输出结果:05115246781091120120的问题没解决,帮忙看下!!