剛才做的那道題比較簡單,再做一道。
問題描述:已知f與g兩個整數陣列,元素都已經從小到大排列,請寫乙個程式,算出f比g中元素大的對數。換句話說,f[0]比g中多少個元素大,f[1]比g中多少個元素大,等等,這些值的總和就是要求的答案。舉個例子,如果f中有1,3,5,7,9,而g中有2,3,4,7,8,那麼答案就是12。
思路:這個題需要注意的地方就是,兩個陣列都是從小到大排序的,所以,如果f[1]都大於g中所有整數時,那麼f[2],f[3]等等都會大於g中所有整數。下面是**:
1 #include 2下面是從資料上找到的另外一種方法,**非常少。思路與我的很相似,也是因為兩個陣列都從小到大排序好了,那麼,當f[i]>g[j],那麼,在f中就一定有len_f-i個元素大於g[j]了。#define max 100034
int f=;
5int g=;
6int len_f=sizeof(f)/sizeof(int);7
int len_g=sizeof(g)/sizeof(int);8
int sum=0;9
void
count();
1011
intmain()12;
14int
i,j;
15int
flag_i;
16for(i=0,j=0;ilen_g;)
1726
break;27
}28if(i!=0 && flag_i==1)29
33if(f[i]>g[j])
3438
else
3944
}45 printf("
sum is %d\n
",sum);
46for(i=0;i)
47 printf("
%d "
,result[i]);
48 printf("\n"
);49 }
1如果您覺得我的文章對您有幫助,請贊一下,非常感謝。void
count()
211 }
等值數目 2023年12月26日
問題描述 已知兩個整數陣列f與g,它們的元素都已經從小到大排列好,而且兩個陣列中的元素都各不相同。例如,f中有1,3,4,7,9,而g中有3,5,7,8,10。試編寫程式算出這兩個陣列之間有多少組相同的元素。就這個例子而言,f 1 與g 0 是一組,f 3 與g 2 是一組。我的思路 關鍵點還是 元...
2023年4月1 2日學習記錄
一 設計模式 1,享元模式 享元模式 英語 flyweight pattern 是一種軟體設計模式。它使用共享物件,用來盡可能減少記憶體使用量以及分享資訊給盡可能多的相似物件 它適合用於當大量物件只是重複因而導致無法令人接受的使用大量記憶體。通常物件中的部分狀態是可以分享。常見做法是把它們放在外部資...
求質數 2023年12月29日
昨天太忙,沒有時間做乙個題,先記著,明天來補。問題描述很簡單,就是求n之內的所有質數並且列印出來。思路 求質數有很多方法,我這裡用一種比較高效的方法。我一步一步地說明方法。1.比如判斷乙個數num是否為質數,那麼就用num去對 i i從2開始 直到根號num 取模,如果都不能整除就說明num是質數。...