给定一个正整数数组,求出现次数最多的数字。 用C语言编程实现 求高手帮忙 统计一个整数在数组中出现的次数,调用函数计算结果...

C\u8bed\u8a00\u6c42\u6570\u7ec4\u4e2d\u51fa\u73b0\u6b21\u6570\u6700\u591a\u7684\u6570

\u4ed4\u7ec6\u601d\u8003\u4e86\u4e00\u4e0b\uff0c\u4e0d\u77e5\u9053\u5982\u4f55\u7528O(n)\u7684\u7ea7\u522b\u5b8c\u6210\u5b83\uff0c\u5982\u679c\u4e0d\u8981\u6c42O(n)\u7684\u7ea7\u522b\uff0c\u53ef\u91c7\u7528\u4e00\u4e0b\u7b56\u7565\u3002
1\uff0c\u5feb\u901f\u6392\u5e8f\u7b49\u7b49\u7684\u53ef\u4ee5\u5728O(nlgn)\u5b8c\u6210\u7684\u6392\u5e8f\u7b56\u7565
2\uff0c\u5bf9\u6392\u5e8f\u597d\u7684\u6570\u636e\uff0c\u4ee5O(n)\u7684\u65b9\u5f0f\u904d\u5386\uff0c\u4f8b\u5982 1 2 2 2 3 3 3 3 3 5 8 8 9 9 9 9
\u53ef\u4ee5\u5f97\u5230{1, 1} {2, 3} {3,5} {5, 1} {8, 2} {9, 4} \u8fd9\u53ef\u4ee5\u7528\u4e00\u4e2astruct\u7ed3\u6784\u4f53\u5b58\u50a8\uff0c\u5de6\u8fb9\u7684\u662f\u6570\u503c\uff0c\u53f3\u8fb9\u7684\u662f\u6b64\u6570\u503c\u7684\u4e2a\u6570
3\uff0c\u5bf9\u7ed3\u6784\u4f53\u6570\u7ec4\u5bfb\u627e\u53f3\u8fb9\u7684\u4e2a\u6570\u7684\u6700\u5927\u503c\uff0c\u53ef\u4ee5\u770b\u5230{3,5}\u4e2d\u76845\u662f\u6700\u5927\u7684\uff0c\u5373\u53ef\u6c42\u51fa\u4e3a1

\u5982\u679c\u9650\u5236\u4e86n\u4e2a\u6574\u6570\u7684\u6bcf\u4e00\u4e2a\u6574\u6570\u7684\u8303\u56f4\uff0c\u4f8b\u5982\u6240\u8f93\u5165\u7684\u6574\u6570\u4e3a0-255\u4e4b\u95f4\uff0c\u90a3\u4e48\u8fd9\u6837\u5c31\u53ef\u4ee5\u4ee5O(n)\u7684\u7ea7\u522b\u5b8c\u6210\u3002
1\uff0c\u505a\u4e00\u4e2a256\u7684\u6570\u7ec4,count[256]\uff0c\u521d\u59cb\u4e3a0
2,\u904d\u5386\u8f93\u5165\u7684\u6570\u636e\uff0c\u4f8b\u5982\u5f53\u524d\u8f93\u5165\u4e3a8 \uff0c\u90a3\u4e48\u6267\u884c count[8]++;
3,\u904d\u5386count\u6570\u7ec4\uff0c\u627e\u5230\u6700\u5927\u7684count[i],\u90a3\u4e48i\u7684\u503c\u5c31\u662f\u90a3\u4e2a\u6574\u6570\u7684\u503c\u3002

\u4ee3\u7801\u6211\u5c31\u4e0d\u8d34\u4e86\uff0c\u6bd5\u7adf\u6211\u8fd8\u6709\u5f88\u591a\u4e8b\u60c5\u8981\u505a\uff0c\u800c\u4e14\u7f16\u7a0b\u662f\u9700\u8981\u8bad\u7ec3\u7684\uff0c\u6709\u4e86\u601d\u8def\uff0c\u5b9e\u73b0\u5c31\u662f\u4e00\u4e2a\u65f6\u95f4\u548c\u4f53\u529b\u7684\u95ee\u9898\u4e86\u3002

\u54ce\uff0c\u6bd4\u8f83\u5931\u671b\u3002\u8d39\u4e86\u90a3\u4e48\u5927\u7684\u52b2\u63d0\u4f9b\u4e86O(n)\u548cO(nlgn)\u7684\u601d\u8def\uff0c\u8fd8\u662f\u88ab\u5426\u51b3\u4e86\uff0c\u65e0\u8bed\u4e86\u90fd\u3002\u4f60\u60f3\u7528O(n^2)\u7ea7\u522b\u5b8c\u6210\uff0c\u6216\u8005\u60f3\u8981\u76f4\u63a5\u7684\u4ee3\u7801\uff0c\u6211\u5c31\u4e0d\u7528\u8d39\u90a3\u4e48\u5927\u7684\u52b2\u6765\u9610\u8ff0\u601d\u60f3\u4e86\u3002\u7f16\u7a0b\u5b66\u7684\u662f\u601d\u60f3\uff0c\u8981\u7684\u662f\u4f53\u529b\u52b3\u52a8\uff0c\u4e0d\u662fcopy\u3002

last version 2013-05-28 15:28
this time update at 2015-05-08 13:44
\u4eca\u5929\u4e0a\u7f51\u770b\u5230\u8fd9\u4e2a\u56de\u7b54\u6709\u4e8644\u4e2a\u8d5e\u540c\uff0c\u8fd8\u662f\u7565\u6709\u4e9b\u5f00\u5fc3\u7684\u3002\u5f53\u5e74\u56de\u7b54\u8fd9\u4e2a\u95ee\u9898\u7684\u65f6\u5019\u8fd8\u662f\u5728\u5927\u5b66\uff0c\u5e74\u8f7b\u6c14\u76db\uff0c\u8bf4\u4e86\u4e00\u4e9b\u4e0d\u8be5\u8bf4\u7684\u8bdd\uff0c\u73b0\u5728\u60f3\u6765\u5b8c\u5168\u6ca1\u6709\u90a3\u4e2a\u5fc5\u8981\u4e86\u3002\u9488\u5bf9\u8fd9\u4e2a\u95ee\u9898\uff0c\u73b0\u5728\u770b\u6765\u53c8\u6709\u4e00\u4e9b\u5176\u4ed6\u7684\u770b\u6cd5\uff0c\u5e0c\u671b\u80fd\u8ddf\u5927\u5bb6\u5206\u4eab\u4e00\u4e0b\uff1a
\u6cd51\uff1a \u5229\u7528\u4e8c\u53c9\u6392\u5e8f\u6811\u7684\u601d\u60f3\uff0c\u4e3b\u8981\u57fa\u4e8e\u5176O(logn)\u7684\u67e5\u627e\u6548\u7387\u3002 \u4ece\u7b2c1\u5230\u7b2cn\u4e2a\u5143\u7d20\u9010\u4e2a\u904d\u5386\uff0c\u5e76\u5c06\u5143\u7d20\u63d2\u5165\u5230\u4e00\u4e2a\u521d\u59cb\u4e3a\u7a7a\u7684\u4e8c\u53c9\u6392\u5e8f\u6811\u4e2d\u3002\u5728\u63d2\u5165\u7684\u8fc7\u7a0b\u4e2d\u4f1a\u6709\u67e5\u627e\u64cd\u4f5c\uff0c\u5982\u679c\u6b64\u5143\u7d20\u5df2\u7ecf\u5b58\u5728\uff0c\u5219\u5bf9\u5176\u7684count\u7684\u5c5e\u6027\u589e1\uff0c \u5982\u679c\u4e0d\u5b58\u5728\uff0c\u5c31\u5c06\u5176\u63d2\u5165\u5230\u4e8c\u53c9\u6811\u4e2d\u3002\u63d2\u5165\u7684\u65f6\u95f4\u590d\u6742\u5ea6\u5e94\u8be5\u662fO(lgn)\u7ea7\u522b\uff0cn\u4e2a\u5143\u7d20\uff0c\u5e94\u8be5\u662fnlgn\u7ea7\u522b\uff0c\u5176\u5b9e\u53ef\u4ee5\u5728\u63d2\u5165\u7684\u65f6\u5019\u59cb\u7ec8\u8bb0\u5f55\u6700\u5927count\u7684\u90a3\u4e2a\u503c\uff0c\u63d2\u5165\u5b8c\u6bd5\u4e5f\u5c31\u627e\u5230\u90a3\u4e2a\u503c\u4e86\u3002
\u6cd52\uff1a \u5229\u7528hash\u6563\u5217\u8868\u7684\u601d\u60f3\uff0c\u6ce8\u610f\u6563\u5217\u51fd\u6570\u4e0d\u5b9c\u590d\u6742\uff0c\u5426\u5219\u6563\u5217\u5c31\u5f97\u4e0d\u507f\u5931\u4e86\u3002 \u5c06n\u4e2a\u5143\u7d20\u6563\u5217\u5230\u4e00\u4e2ahash\u8868\u4e2d\uff0c\u53ef\u4ee5\u91c7\u7528\u7c7b\u4f3c\u4e8e\u94fe\u5f0fhash\u7684\u7b56\u7565\u3002\u5728\u6563\u5217\u7684\u8fc7\u7a0b\u4e2d\uff0c\u5bf9\u4e8e\u5177\u6709\u76f8\u540c\u7684\u503c\u7684\u5143\u7d20\uff0c\u53ea\u8bb0\u5f55\u5b83\u7684\u4e00\u4e2a\u503c\u548ccount\uff0c\u540c\u65f6\u4e00\u76f4\u4fdd\u6301\u8fd9\u6700\u5927count\u7684\u503c\uff0c\u8fd9\u6837\u5f53\u6563\u5217\u5b8c\u6bd5\uff0c\u6700\u5927count\u5bf9\u5e94\u7684\u503c\u4e5f\u5c31\u5f97\u5230\u4e86\u3002

#include
int fun(int a[],int n,int m) /*\u5f62\u53c2n\u8868\u793a\u6570\u7ec4\u4e2d\u5143\u7d20\u4e2a\u6570\uff0cm\u8868\u793a\u8981\u7edf\u8ba1\u7684\u90a3\u4e2a\u6574\u6570*/
{int i,k=0;
for(i=0; i<n; i++)
{if(a[i]==m) k++; }
return k;
}
void main()
{int ar[10],i,m,k;
scanf("%d",&m);
printf("\nPlease input array:");
for(i=0; i<10; i++)
scanf("%d",&ar[i]);
k=fun(ar,10,m);
printf("\n %d is found %d times",m,k);
}

#include "stdio.h"
int main()
{
int a[] = { 1, 5, 6, 6, 5, 33, 4, 5, 10, 5, 4, 5, 6, 7, 8, 9, 5, 8, 100, 5, 555, 5, 123 };
int i,j;
int y=0,c=0,l=0;

for (i = 0; i <sizeof(a)/sizeof(int); i++)
{
for (j = 0; j <sizeof(a) / sizeof(int); j++)
{
if (a[i] == a[j])
y++;
}
if (c < y)
{
c = y;
l = a[i];
}
y = 0;
}
printf("最多的数字是:%d", l);
printf("出现次数:%d", c);
while (1);
}


  • 缁欏畾涓涓鏁存暟鏁扮粍,姹傚嚭鐜版鏁鏈澶氱殑鏁板瓧銆 鐢–璇█缂栫▼瀹炵幇
    绛旓細4, 5, 10, 5, 4, 5, 6, 7, 8, 9, 5, 8, 100, 5, 555, 5, 123 };int i,j;int y=0,c=0,l=0;for (i = 0; i <sizeof(a)/sizeof(int); i++){for (j = 0; j <sizeof(a) / sizeof(int);
  • 濡備綍纭畾涓涓鏁存暟涓煇涓暟瀛鍑虹幇鐨娆℃暟?
    绛旓細纭畾绠楁硶鎬濊矾銆傚湪C璇█涓紝鍒ゆ柇涓涓鏁存暟涓煇涓暟瀛楀嚭鐜扮殑娆℃暟鍙互鍒╃敤鏁村瀷鍙橀噺涔嬮棿鐨勬眰妯¤繍绠楀拰闄ゆ硶鐨勭壒鎬ф潵瑙e喅銆傛眰妯¤繍绠楃浉褰撲簬姹備綑鏁般傛瘮濡11%10鐨勭粨鏋滀负1锛123%10鐨勭粨鏋滀负2锛屽埄鐢ㄨ繖绉嶇壒鎬э紝鍦ㄥ崄杩涘埗涓紝姹傞櫎浠10鐨勪綑鏁板氨鍙互寰楀埌鏈熬鐨勬暟瀛椼傚湪C璇█涓紝鏁村瀷鍙橀噺鐨勯櫎娉曚腑锛屽晢涓轰笉淇濈暀灏忔暟閮ㄥ垎鐨...
  • ...杈撳叆涓涓暣鏁,缁熻骞惰緭鍑哄叾鍦ㄨ鏂囦欢涓鍑虹幇鐨娆℃暟
    绛旓細1銆侀鍏堬紝瀹氫箟涓涓父閲忥紝鐢ㄦ潵鎺у埗鏁扮粍鐨勫ぇ灏忋2銆佹帴鐫锛屽畾涔変袱涓鏁扮粍锛淇濆瓨鎵鏈夌礌鏁板拰鎵鏈夋暣鏁般3銆佸畾涔4涓暣鍨嬪彉閲忥紝淇濆瓨杈撳叆鐨勬暣鏁般佹帶鍒跺惊鐜殑鍙橀噺锛屼互鍙婄礌鏁颁釜鏁般4銆佽緭鍏涓涓鏁存暟锛屼繚瀛樺湪鍙橀噺num涓5銆佸皢鏁扮粍arr涓殑鍊硷紝閮借缃负0銆6銆佹渶鍚庯紝濡傛灉鏍囧織鍊间负鐪燂紝鍒欒緭鍑烘鏁存暟鍐呮病鏈夋暣鏁般7銆...
  • ...璇曠紪绋嬬粺璁¤鏁扮粍鍏ㄩ儴鏁板瓧0,1,2,..9鍚鍑虹幇澶氬皯娆銆
    绛旓細璁涓涓暟缁,姣忎釜鍏冪礌閮芥槸涓嶈秴杩囦袱浣嶆暟鐨姝f暣鏁,璇曠紪绋嬬粺璁¤鏁扮粍鍏ㄩ儴鏁板瓧0,1,2,..9鍚鍑虹幇澶氬皯娆銆 瑕佹眰:int a[]={5,26,98,77,1,27,30};鎻愮ず:瀹氫箟涓涓暟缁刡[10],瀛樻斁a鏁扮粍涓暟瀛0~9鍑虹幇鐨勬鏁,鍗砨[0]瀛樻斁0鍑虹幇鐨勬鏁,b[1]瀛樻斁1鍑虹幇鐨勬鏁...,璇ユ暟缁勫厓绱犵殑鍒濆煎潎涓0.鍚炬湜wuwang | 娴忚1816 ...
  • ...缁欏畾涓涓暣鏁,姹璇ユ暣鏁颁腑鍑虹幇娆℃暟鏈澶氱殑鏁板瓧鍙婂嚭鐜版鏁般傚鏋滄湁澶...
    绛旓細= 0;//max璁板綍鏈澶х殑棰戞暟锛宖lag璁板綍浣嶇疆 for (int i = 0; i < 10; i++){ if (max < a[i])//鎵惧嚭棰戞暟鏈澶х殑涓浣 { max = a[i];flag = i;} } cout << "鍑虹幇娆℃暟鏈澶х殑鏄細" << flag << "锛屽嚭鐜版鏁锛" << a[flag] << endl;system("pause");return 0;} ...
  • 甯垜鐪嬬湅杩欎釜绋嬪簭,杩欐槸涓涓瑕佹眰杈撳叆10涓竴浣姝f暣鏁,瀛樺叆涓缁存暣鍨鏁扮粍...
    绛旓細*p琛ㄧず浣犺緭鍏ョ殑鏁板瓧锛屽嚭鐜颁竴娆[*P]鍔1锛鏈缁坣[*p]琛ㄧず浣犺繖涓暟瀛楀嚭鐜扮殑娆℃暟 鎸囬拡p鍚庝緷娆℃寚鍚憂鐨勬瘡涓厓绱狅紝q淇濆瓨褰撳墠n鏁扮粍涓渶澶х殑锛屾瘮杈冧竴杈瑰悗灏辨垚a鏁扮粍鍑虹幇娆℃暟鏈澶氱殑鍟︺俼-n涓虹鍑犱釜鏁帮紝*q涓烘渶澶у 锛堥噸鐐癸細杩欑▼搴忓簲璇ュ杈撳叆鐨勬暟鏈夎姹傦紝鍙兘涓0~9涔嬮棿锛屼笉鐒朵細鍑洪棶棰樺暒锛...
  • 姹傚姪姹傚姪~~C++缂栫▼銆傞殢鎰忚緭鍏涓涓鏁存暟N,璁$畻浠1~N涔嬮棿0銆1銆2銆3...
    绛旓細//濡傛灉n=13,1鍑虹幇鐨娆℃暟鍙湁6娆″惂:1 10 11 12 13 include <iostream> using namespace std;int main(){ int i,n,num,a[10]={0};//瀹氫箟鍙橀噺,鍒濆鍖鏁扮粍a涓洪浂 cin>>n;for (i=1;i<=n;i++){ num=i;while (num) //缁熻0..9鏁板瓧鍑虹幇鐨勬鏁 { a[num%10]++;num/=10;} ...
  • 姹侰璇█浠g爜:缁欏畾n涓鏁存暟,鎵惧嚭瀹冧滑涓鍑虹幇娆℃暟鏈澶氱殑鏁般
    绛旓細include <stdio.h> int main(void){ int a[10000] = {0};int n;int x;int i;int max=0;scanf("%d",&n);for(i = 0; i < n; i++){ scanf("%d",&x);a[x]++;} for(i = 0; i < 10000; i++){ if( a[max] < a[i])max = i;} printf("%d\n",max);} ...
  • C++缁熻鏁扮粍涓暟瀛鍑虹幇鐨娆℃暟
    绛旓細鐢涓涓暟缁鎺ユ敹鏁版嵁锛屼娇鐢╢or寰幆鏉ヨ緭鍏ユ暟鎹紝濡傛灉瑕佺粺璁℃煇涓暟鍑虹幇鐨娆℃暟骞跺緱鍒板崟鏁板弻鏁扮殑涓暟锛岃缃鏁板櫒锛屽啀鐢ㄤ竴涓惊鐜潵閬嶅巻鏁扮粍骞跺垽鏂俰nt a[9];int i=0,j=0,k=0 for(;i<=9;){ scanf("%d",&a[i++]);} for(;j<=9;){ if(a[j++]%2==1){ printf("odd\t");k++;} ...
  • java闂 杈撳叆20涓10浠ュ唴鐨姝f暣鏁,杈撳嚭姣忎釜鏁板瓧鍑虹幇鐨娆℃暟銆傛!!!
    绛旓細public static void main(String[] args){ Scanner in = new Scanner(System.in);int i; // 寰幆鎺у埗鍙橀噺 int n; // 瀛樻斁瑕佽緭鍏ョ殑鏁 final int MAXTIMES = 20; //鏈20涓暟瑕佽緭鍏 final int MAXNUM = 10; //鍋囪浣犺鐨10浠ュ唴鏄笉鍖呮嫭10鐨勶紝鍗0~9 int[] array = new int[MAXNUM]...
  • 扩展阅读:四元组 三者相加 java ... 正整数逆序输出思路 ... 给定两个有序整数数组 ... 索引超出数组元素的数目 1 ... 给定两个数组 求交集 ... 给定一个整数数组array ... 整数数组nums按升序排列 ... 给定数组用顺序表l存储 ... 在给定的数组中删除一个数 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网