免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發新帖
查看: 362466 | 回復: 477
打印 上一主題 下一主題

華為面試題(8分鐘寫出代碼) [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發表于 2006-11-13 00:56 |只看該作者 |倒序瀏覽
有兩個數組a,b,大小都為n,數組元素的值任意,無序;
要求:通過交換a,b中的元素,使數組a元素的和與數組b元素的和之間的差最小

論壇徽章:
0
2 [報告]
發表于 2006-11-13 07:54 |只看該作者
先各自排序,再交叉存放較大無素

論壇徽章:
0
3 [報告]
發表于 2006-11-13 08:33 |只看該作者
難度太大。

論壇徽章:
0
4 [報告]
發表于 2006-11-13 09:10 |只看該作者
負數差是不是不考慮?

論壇徽章:
0
5 [報告]
發表于 2006-11-13 09:14 |只看該作者
2樓的算法應該是得不出最小差的

論壇徽章:
0
6 [報告]
發表于 2006-11-13 09:33 |只看該作者
先整體排序,再交叉取數

論壇徽章:
0
7 [報告]
發表于 2006-11-13 09:34 |只看該作者
放到一個臨時數組里排序后,兩頭取,分別存在a,b里

論壇徽章:
0
8 [報告]
發表于 2006-11-13 10:16 |只看該作者

哈哈。編好了。不知道思路是否正確,錯就一定有的。

剛學編程兩個月,不知道思路是否正確,錯就一定有的。

#include"stdio.h"
com(int a[2000],int n)
{int i,j,p,q,s;
for(i=0;i<2*n-1;i++)
  {
a[0]=q,p=i;
  for(j=i+1;j<2*n;j++)
  if(a[j]>q)
{q=a[j];p=j;}
if(i!=p)
{a=s;
s=a[p];
a[p]=a;
}
return(a[2*n-1);
   }
for(i
main()
int a[1000],b[1000],c[2000],n,j,k,p,q;
printf("input two same struct array and same long\n");
scanf("%d",&n);
printf("input first struct array");
for(i=0;i<n;i++)
scanf(%d",a);
printf("input secend struct array");
for(i=0;i<n;i++)
scanf(%d",b);
for(i=0;i<n;i++)
c=a;
for(i=0;i<n;i++)
c[n+i+1]=b;/*結合兩組數據*/
c[n+i+1]=[com(c[n+i+1],n);/*并排列大小*/
for(i=0;i<n;i++)
{a=0;
b=0;}/*清0*/
a[0]=c[0];
b[0]=c[1];
s=1;
t=1;
p=0;
q=0;
for(i=2;i<2*n-1;i++)
   {
if(s==n-1)\*判斷是否已經分好了一個數組*\
{for(i=n+t-1;i<2*n-1;i++,t++)
b[t]=c[n+t-1];
break;}
if(t==n-1)\*判斷是否已經分好了另一個數組*\
{for(i=n+s-1;i<2*n-1;i++,s++)
b=c[n+s-1];
break;}
   for(j=0;j<s;j++)
    p+=a[j];\*求數組a[j]的值*\
         
   for(j=0;j<t;j++)\*求數組a[j]的值*\
     q+=b[j];

if(p>q)\*判斷已經分好的數組大小,并分配下一數值到較少的數組*\
{c=b[t];
t++;}
else{c=a
s++;}
    }
for(i=0;i<n;i++)
printf("a=%d ",a);
printf("\n");
for(i=0;i<n;i++)
printf("b=%d ",b);

getch();

}

[ 本帖最后由 hithotwinds 于 2006-11-13 10:25 編輯 ]

論壇徽章:
0
9 [報告]
發表于 2006-11-13 10:17 |只看該作者
全部加起來除2,然后試算

論壇徽章:
0
10 [報告]
發表于 2006-11-13 10:47 |只看該作者
設一個變量,類似于天平的指針,就像用天平稱東西一樣,只不過用變量來記錄他們之間的差。然后,根據這個差對下次比較的雙方進行調整,再對這個差進行調整,如此反復。不知可否??

[ 本帖最后由 12013396 于 2006-11-13 10:59 編輯 ]
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則 發表回復

  

北京盛拓優訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區
中國互聯網協會會員  聯系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP
   日韩综合区视频第一页导航,无码JK粉嫩小泬在线观看,午夜精品A片一区二区三区,日日躁夜夜躁狠狠躁麻豆,大胆国模,免费观看无遮挡www的网站