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

  免費(fèi)注冊 查看新帖 |

Chinaunix

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

據(jù)說是google的面試題,看誰的快 [復(fù)制鏈接]

論壇徽章:
0
11 [報(bào)告]
發(fā)表于 2006-03-29 14:30 |只看該作者

回復(fù) 6樓 mingjwan 的帖子

這道題答出來不難,關(guān)鍵是效率,樓主比較厲害,很快就算出來了

論壇徽章:
0
12 [報(bào)告]
發(fā)表于 2006-03-29 14:40 |只看該作者
沒想出什么好方法

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
13 [報(bào)告]
發(fā)表于 2006-03-29 15:39 |只看該作者
練練手:
In Haskell:
  1. module Main where

  2. g y x = x + case y of
  3.             { '1' -> 1; _ -> 0 }
  4. f 1 = 1
  5. f (x+1) = f(x) + foldr (g) 0 (show(x+1))

  6. h x = do
  7.         if x == f(x)
  8.             then
  9.                 putStrLn( show(x) ++ ":" ++ show( f(x) ) )
  10.             else
  11.                 putStr( "" )
  12.         h(x+1)

  13. main = h 1
復(fù)制代碼

其實(shí)最核心的也就這四行:
  1. g y x = x + case y of
  2.             { '1' -> 1; _ -> 0 }
  3. f 1 = 1
  4. f (x+1) = f(x) + foldr (g) 0 (show(x+1))
復(fù)制代碼

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
14 [報(bào)告]
發(fā)表于 2006-03-29 16:50 |只看該作者
唔……Haskell 學(xué)的不好,上面那個(gè)程序太慢了,
下面換個(gè) Python 的,這個(gè)應(yīng)該快一些:
  1. i=1
  2. sum=0

  3. while 1:
  4.     count = str(i).count("1")
  5.     sum += count
  6.     if sum == i:
  7.         print sum
  8.     i += 1
復(fù)制代碼


Perl 的語法和 Python 差不多,不過速度應(yīng)該會(huì)快一些:
  1. $i=0;
  2. $sum=0;
  3. while(1){
  4.     $count = $i =~ s/1/1/g;
  5.     $sum += $count;
  6.     print "$i\n" if $i == $sum;
  7.     $i++;
  8. }
復(fù)制代碼

[ 本帖最后由 flw 于 2006-3-29 16:54 編輯 ]

論壇徽章:
0
15 [報(bào)告]
發(fā)表于 2006-03-29 16:52 |只看該作者
flw,這個(gè)問題考算法,不是考的語言吧...哈哈

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
16 [報(bào)告]
發(fā)表于 2006-03-29 16:57 |只看該作者
原帖由 converse 于 2006-3-29 16:52 發(fā)表
flw,這個(gè)問題考算法,不是考的語言吧...哈哈

版主不會(huì)出錯(cuò),出錯(cuò)的永遠(yuǎn)是實(shí)習(xí)版主,出了問題請先從自己身上考慮自己是不是犯錯(cuò)了

論壇徽章:
0
17 [報(bào)告]
發(fā)表于 2006-03-29 17:01 |只看該作者
原帖由 converse 于 2006-3-29 16:52 發(fā)表
flw,這個(gè)問題考算法,不是考的語言吧...哈哈

是不是應(yīng)該從數(shù)本身規(guī)律考慮,好多數(shù)不用測試的
<10    1
<100   11 12 13 14...21 31 41 51....
<1000 101 111 112 113 ....121 131...
今天回家再仔細(xì)想想

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
18 [報(bào)告]
發(fā)表于 2006-03-29 17:04 |只看該作者
還有個(gè)問題,什么叫做“下一個(gè)最大的”?
難道這個(gè)是有最大值的?

論壇徽章:
0
19 [報(bào)告]
發(fā)表于 2006-03-29 17:06 |只看該作者
原帖由 flw 于 2006-3-29 17:04 發(fā)表
還有個(gè)問題,什么叫做“下一個(gè)最大的”?
難道這個(gè)是有最大值的?

恩,這個(gè)確實(shí)是個(gè)BUG

論壇徽章:
0
20 [報(bào)告]
發(fā)表于 2006-03-29 17:08 |只看該作者
原帖由 flw 于 2006-3-29 16:50 發(fā)表
唔……Haskell 學(xué)的不好,上面那個(gè)程序太慢了,
下面換個(gè) Python 的,這個(gè)應(yīng)該快一些:
[code]i=1
sum=0

while 1:
    count = str(i).count("1")
    sum += count
    if sum == i:
       ...

這兩個(gè)還差不多能看懂個(gè)70%,前面那個(gè)完全不明白是啥~~~
flw你會(huì)那么多的語言,不會(huì)搞混了么?
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP