3、lse,例如:{1,2,3,1,5,1,8,9,1,5,1,1,1}=true{3,2,1,6,7,9,7,6,1,3}=false要求时间复杂度是O(n)注意时间复杂度,超过O(n),都是无效的答案.functioncheck(){varmyarray=newArray();for(vari=0;i<100;i++)myarray[i]=0;vartext=$('#Text2').val();varintarray=text.split(",");$(intarray).each(function(){myarray[this]+=1;//
4、;});varcount=0;for(vari=0;i<100;i++){if(myarray[i]>1){count+=myarray[i]-1;}}+''+'结果:'+(count*2>=intarray.length).toString());}publicclassCalNum{publicint[]a;publicint[]arr1=newint[]{1,2,3,1,5,1,8,9,1,5,1,1,1};publicint[]arr2=newint[]{3,2,1,6,7,9,7,6,1,3};publicboolTest(in
5、t[]arr1){a=newint[100];for(inti=0;i<100;i++)a[i]=0;foreach(intvinarr1)a[v]+=1;intcount=0;for(inti=0;i<100;i++)if(a[i]>1)count+=a[i]-1;returncount>arr1.Length;}publicvoidfun(){Console.WriteLine(Test(arr1));Console.WriteLine(Test(arr2));}}时间复杂度是O(n)4.用编程语言实现以下各题,1,求自然数10000以内
6、所有11的倍数的和?2,1+2+4+8+.......+2^100=?3,有若干只鸡和兔,共30个头,100条腿,求有几只鸡几只兔?1.10000/11=909这个问题转化为11+11*2+11*3...+11*909采用等差数列求和S=(11+11*909)*909/2=11*910/2=5005编程的思路和这个数学解法类似。这题实际上是考等差数列求和2.等比数列求和答案为2^101-1编程时转成求2的101次方键1就可以了。这题主要考等比数列求和以及大数如何表示。3.设鸡为x兔为yx*1+y*1=30x*2+y*4=100得y=20,x=
7、10编程时求解这个公式就可以了,很简单。