一道面試題,這是什麼演算法啊?

時間 2021-05-29 22:54:55

1樓:朱涵俊

答案應該是2 1 0 0 0 1 0 0 0 6

首先0不可能出現0次。

其次第二排加起來不可能超過10,因為總共就10個數字。

還有第一排數字跟第二排數字相乘之和不超過10,比如2出現4次,那麼第二排有4個2,根據上面一條,第二排數字相加不大於10。

假設0出現x次,x在1至9之間,x出現y次,xy相乘不大於10,x大於4的時候,y只能為1,那麼1下面就不能為1,只能是2或者2以上,2 1 0 0 0 1 0 0 0 6就可以算出來。

x小於等於5的時候,那麼至少4個數字不是0,即便取最小的1234,相加起來也大於等於10了,還要相乘不超過10,肯定達不到了。

0下面不為0,5至9之間有乙個是1,那麼1下面肯定不是0,而且1下面不會是1,那麼必定另外還有乙個數字不是0,可以確定4個數字不為0了。那0下面只能為6了。

2樓:Yriuns

應該算是一道推理題。

首先,9出現的次數必然是0。反證,比如9出現的次數為1,意味著某個數x(x≠9)出現的次數為9,意味著第二行將有9個x,而我們知道第二行總共只有10個數,且已經有了1個1和1個9,那麼x必然為1。從而第二行為9 1 1 1 1 1 1 1 1 1,顯然這不滿足2 3 4 5 6 7 8 0出現的次數為1的要求。

因此9出現0次。

接下來,8出現的次數也是0。反證,比如8出現的次數為1,意味著某個數x(x≠8,9)出現的次數為8,意味著第二行有8個x,同樣,總共10個數,且已經有了1個1,1個0,1個8,那麼x必然為1或0。通過簡單的驗證可以知道同樣不成立。

類似的,假設7出現1次,則意味著某個數x(x≠7,8,9)出現7次,已經有了1個1,1個7,2個0,x必然為1或0。通過驗證也可以知道不成立,因此7出現0次。

勝利就在眼前…假設6出現1次,再假設0出現6次,看是否能夠成立。由於6出現了1次,因此1不能只出現1次,不妨假設為2次,那麼2出現1次,3、4、5出現0次,滿足。

所以,最後的答案是:

1 2 3 4 5 6 7 8 9 0

2 1 0 0 0 1 0 0 0 6

一道程式設計師面試題?

好奇的投資者 看不慣採用二分查詢的各位,怒答。我想對採用二分查詢的各位同學拋兩個問題。一 在二分資料的時候,如何確保 壞資料 在同乙個分塊呢,萬一你分的兩個分塊恰好都有部分錯誤資料呢?如下圖 二 在解決第乙個問題的前提下,如果採用二分查詢,會出現重複計算hash值的情況,此時複雜度肯定大於N。比如每...

一道bat面試題 快速替換10億條標題中的5萬個敏感詞,有哪些解決思路?

汪周洋 這個題目其實這些一億條標題,五萬個敏感詞都是唬人的,就是想考你,給你乙個敏感詞表,然後從乙個文字中找出是否有敏感詞,至於替換是順手的事情,標題數量多也是要乙個個做。核心就是根據敏感詞表建乙個樹可以快速的判斷字串是否有敏感詞。這一般是bat這種公司過濾敏感詞的乙個功能,這其實考不了啥的,沒做過...

虛構一道面試題 有1 10億數字的亂序陣列,其中少了若干個數(不超過100個),怎麼找到這些少的數呢?

可以對原來的數進行快排或者堆排,從大到小排一遍然後從大到小依次減過來,如果有相減結果不是1的就是說明這裡丟了乙個數字 這裡可以多執行緒計算 不過乙個10億個元素的陣列,佔記憶體也不小呢 柳翔天 先實現高精度計算。將每個數相加,與1 10億的總和相減,得到缺失數之和將每個數的平方相加,與1 10億的平...