在配對的過程中,徐佑也考慮到了,2和5出現的數量問題。【,無錯章節閱讀】
無疑,2的個數一定是多於5的個數的。
這樣一來,問題就變成了,統計階乘數裡有多少個5這個因子。
「等一下……像25、125這樣的數字,裡麵其實是包含不止一個5的因子的。」
徐佑很快注意到了這一重要的問題。
如果忽略這個情況,那最後的結果就會出現錯誤。
最終,徐佑在電腦上,編輯出了短短的五行代碼,並給彭俊發送了過去。
「不錯啊!」
在看到徐佑發來的代碼後,彭俊也不禁對徐佑的解答表示著肯定。
雖然這道題不算什麼難題。
但能在幾分鐘的時間內,給出如此漂亮的答桉。
彭俊知道,大部分計算機專業的本科生,也是未必能做到的。
「這孩子,應該是自己做出來的吧。」
彭俊相信,既然徐佑向自己尋求題目,按理說肯定不會去搜索答桉的。
但為了進一步確定徐佑的能力,彭俊決定,再給徐佑出一個難題,還是那種網上根本搜不到的題目。
「不錯,做得很好,代碼也很簡潔。再給你發一道難度更大的題目吧。」
這一次,彭俊將一道自己改編過的題目,向徐佑發送了過去。
看著這道新的題目,徐佑很快陷入到思考之中。
「給出k個有序的數組:l1,l2,……,lk,每一個長度為n,可以對該數組進行線性時間的預處理。然後回答如下詢問:給出x,回答每個數組中第一個小於x的元素是什麼?」
這一次,徐佑也確實感到了,題目難度的提升。
要是徐佑這些天沒有學完這些門課程的話,估計是連題目都看不懂的。
徐佑首先想到的方法,是對於每個數組二分查找。
但這樣的話,複雜度會非常高,達到了o(klogn)。
很快,徐佑便找到了另外的一個思路。
「如果用fraal-g的話,就可以將複雜度降低到o(k+logn)了。」
所謂的fraal-g,也就是分散層疊算法,可以對經典分塊問題進行大大的優化。
按照這個思路,徐佑重新進行算法的構思,並很快整理出了一套全新的方桉。
「這樣一來,隻要第一次使用二分,之後每次都是常數查找就可以了。」
完成了算法數據結構的編輯後,徐佑將自己的解法發送給了彭俊。
看見徐佑的答桉,彭俊又是不禁連連點頭。
「這小子,還真不是在跟我開玩笑。能做到這個水平,絕對是把這些課程都學透了的。」
這個時候,彭俊也不得不對徐佑的學習能力盛讚了起來。
彭俊並不知道,徐佑到底是如何在這短短的十天時間裡,把幾乎整個計算機本科階段的知識都學習完畢,同時很好的掌握了這些知識。
就算是每天花出十幾個小時的時間,甚至都不夠把這些課程全部都看一遍的。
但徐佑既然能夠做到,說明他肯定有自己獨特的學習方法。
「不錯,這個問題的回答也很好,不僅能夠解決問題,而且算法的優化程度也很不錯。徐佑,你是我見過學的最快的一個學生了。」
雖然這隻是彭俊隨便出的一道題,還不能完全考察徐佑的計算機知識能力。
但既然隨便出一道題,徐佑都能做得這麼好,那徐佑多半是把大部分知識都掌握了的。