貢獻者: 吳倚攝-ether
R:interviwer E:interviwee
R:你好,我是這次負責面試的主要人員,我們這邊有個問題想要提供給你,請你幫我們解決一下。
R:就是呢,我們給你一個矩陣的數字,然後我們再給你一個要加起來的target,然後麻煩你可以從矩陣中array裡面找到兩個數字,是能夠加起來成為我們的目標的。
R:好,那可以先講一下你的想法,然後再接著實做。
E:面試官你好,我叫做吳倚攝,然後我這邊提供一下我一個目前最快想到的一個簡簡單的想法。
E:那就是因用暴力解的方法,然後這個的時間複雜度的話大概是O()。
E:我們看一下你提供的例子
E:如果從exmaple 1的話,明顯的目標是9的話,我們就是要抓2和7,所以我最簡單的想法就是用暴力解方法,針對每個元素並檢查他們的總和是否等於目標,然後用for迴圈來完成這件事情。
E:這的話會需要兩個for迴圈。
E:這是我目前最快想到的想法。
R:我看你的想法不錯,反應蠻快的,那你是否能夠提供一個時間複雜度更低的,或者是說記憶體呃空間複雜度更低的方法呢?
E:哦,好的,嗯,我想一下哦。
E:哦,想到一個就是在c++裡面有一個叫unordered_map的函式,他就是可以存一個key然後跟一個裡面的值。
E:我們就可以利用這個hashtable,我們可以就是真的就是每疊代一次陣列,我們就針對對於每個元素,然後我們檢查Hashtable裡面是否存在著目標減去當前元素的值?
E:如果有的話,那我們找到找到答案了,那如果沒有的話,那我們就把當前的元素存到hashtable裡面。
E:好,那我這邊來實作一下。
E:這樣子的話我們時間複雜度就來到O(n)。
E:那這是我想到一個更快的方法。
R:你這個實作的想法不錯,而且想到的速度也蠻快的,我還蠻喜歡你的臨場反應以及你的思緒,也覺得你的能力不錯,然後我們回去之後跟其他同仁討論看看,我們今天的會議就先到這邊結束,謝謝。
R:嗨,你好,我是這次面面試的主要負責人,我是資深工程師迪拉。
R:我們會給你一個,我們從下面自己可以看我們會給你一個array然後裡面有數字,裡面有有序的數字,然後呃,麻煩你就是要幫我們移除多餘的數字,然後每一數字只能出現兩次。
R:然後移除完數字之後,你要告訴我們,總共會有幾個總共一除完蟲多餘的數字之後總工會幾個,然後主要呃,然後另外還有一個限制的話,就是這裡的空間複雜度要是O(1),就是這樣好,你可以開始嘗試,或者是先講講你的想法。
E:然後我這邊的想法的話,就是利用一個迴圈,然後直接去針對每個元素,然後做檢查的話。
呃。
E:然後如果超過兩次的話,就用前面的人數把它蓋掉,這樣的話,我們就不用把額外的,我們就不用需要花到額外的空間,這樣子的話,我們的空間複雜度的話,就會是O(1)。
哦,那我們這邊來實做一下。
R:倚攝,我覺得你的想法很棒,你有實際的推倒之後可以證明你是正確的,然後也符合題目要求,那今天的會議就到這邊,謝謝。
R:Today, I wiil give you one question,need you give me one solution ,as soon as good.
R:Given two strings s and t, return true if t is an anagram of s, and false otherwise.
An Anagram is a word or phrase formed by rearranging the letters of a different word or phrase, typically using all the original letters exactly once.
R:have two exmaples.you can think how it work.
E:My name is Ether Wu.
E:I think the best solution is time complexity O(n).
E:We need to use hash table.First, I think we can create unordered map count character frequencies. The key of the map represents a character, and the value represents its frequency.
E:Now, we can iterate over each character x in string s. For each character, increment its frequency once.and next,each character x in..
E: we check each character x in string t.For each character, decrement its frequency onec,so we can check the frequency will be 0.
E:so it will be 0, it will be true.one of them not 0 , so it will be false.
E: Let me do it.Let me show you.
E:this's all of my think. it will work.
R:I like your ideal.this meeting is over. thank you