亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
樓主: forrestgang
打印 上一主題 下一主題

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

論壇徽章:
0
61 [報告]
發(fā)表于 2006-11-14 12:48 |只看該作者
t1=a1的和+a2的和;
結果數組=空數組;
循環(huán)開始(所有的數組組合情況)
{
  t2=絕對值(新數組a-新數組b);
  if( t2< t1)
  {
       t1=t2;
       結果數組CLEAR();
       結果數組ADD(t2);
  } else if(t2==t1)
  {
      結果數組ADD(t2);
  }
}
return 結果數組;

如果有完善的數據結構開發(fā)包。3分鐘就夠了。其中30秒用來考慮,2分用來寫程序,30秒用來編譯運行

論壇徽章:
0
62 [報告]
發(fā)表于 2006-11-14 13:35 |只看該作者
原帖由 seaway 于 2006-11-14 12:48 發(fā)表
t1=a1的和+a2的和;
結果數組=空數組;
循環(huán)開始(所有的數組組合情況)
{
  t2=絕對值(新數組a-新數組b);
  if( t2< t1)
  {
       t1=t2;
       結果數組CLEAR();
       結果數組ADD(t2 ...



高,實在是高,
呵呵,把所有的組合都試一遍,差最小的組合記下來,
不就行了?
不過要麻煩一下計算機大哥了,
可以算一下一共有多少種組合,
如果兩個數組元素和是n,那么全面覆蓋的次數大概是:
n+n*(n-1)+n*(n-1)*(n-2)...

這個對不對?要怎么算呢?大學的課程都忘光了!
如果要短時間內完成的話,這可能是個好辦法!

論壇徽章:
0
63 [報告]
發(fā)表于 2006-11-14 13:59 |只看該作者
應該是將兩個數組作為一個數組進行冒泡排序。
a[0],b[0],a[1],b[1],......

論壇徽章:
0
64 [報告]
發(fā)表于 2006-11-14 14:11 |只看該作者
原帖由 sithui 于 2006-11-13 09:33 發(fā)表
先整體排序,再交叉取數

英雄所見略同。

論壇徽章:
0
65 [報告]
發(fā)表于 2006-11-14 14:17 |只看該作者
n+n*(n-1)+n*(n-1)*(n-2)...

這個好像算錯了,是不是要除個2?

排列組合,忘光了!

:)

論壇徽章:
0
66 [報告]
發(fā)表于 2006-11-14 14:19 |只看該作者
原帖由 seaway 于 2006-11-14 12:48 發(fā)表
t1=a1的和+a2的和;
結果數組=空數組;
循環(huán)開始(所有的數組組合情況)
{
  t2=絕對值(新數組a-新數組b);
  if( t2< t1)
  {
       t1=t2;
       結果數組CLEAR();
       結果數組ADD(t2 ...


你做的很快,但計算機恐怕要累死了

論壇徽章:
0
67 [報告]
發(fā)表于 2006-11-14 14:26 |只看該作者
方案1.將a、b兩個數組合成一個數組c(無需排序),清空a、b兩數組。任取c中一個數據i,然后在c中查找與i差值最小的j,i放入a中,就放入b中,然后在c中去掉i和j;再次在c中任取一個數據i,然后在c中查找與i差值最小的j,i放入b中,j放入a中。(即奇數次取在數組a中,偶數次取在數組b中)。(注,兩個n相加一定為偶數)

方案2. 將a、b兩個數組合成一個數組c(2n個數據,無需排序),將所有數據相加,然后除以2,值記為i,然后隨意組合n個數據相加,取和最接近i的組合為a,余下為b


[ 本帖最后由 dalianpansky 于 2006-11-14 15:01 編輯 ]

論壇徽章:
1
IT運維版塊每日發(fā)帖之星
日期:2016-06-18 06:20:00
68 [報告]
發(fā)表于 2006-11-14 14:38 |只看該作者

經過簡單的驗證,發(fā)現greensky_34的算法是對的啊。

原帖由 greensky_34 于 2006-11-14 00:28 發(fā)表


完整的程序是這樣的,可以參考一下
[code]
#include <stdio.h>
#include <math.h>

#define N 10

void ary_init(int a[], int b[]){ //初始化數組
    int i;
    for (i=0; i<N; i ...



經過簡單的驗證,發(fā)現greensky_34的算法是對的啊。大家不要想得太復雜了。
{1,2,3}  {0,0,999}
{1,2,3,4,5,6} {7,8,9,10,11,12}

[ 本帖最后由 crazy_li 于 2006-11-14 14:39 編輯 ]

論壇徽章:
0
69 [報告]
發(fā)表于 2006-11-14 14:44 |只看該作者
可以先做好個大致差不多的,再進行微調

論壇徽章:
0
70 [報告]
發(fā)表于 2006-11-14 15:13 |只看該作者
假設sum(a)>sum(b)
(1)選取a中第i個數,b中第j個數,滿足ai-bj < sum(a)-sum(b)。交換ai和bj。
(2)重新計算sum(a)和sum(b)
(3)重復步驟1和2直到條件1不能再滿足。
(4)輸出a和b
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP