Re: [請益] 面試白板考題目的時間複雜度
這題就是回答O(m+n)
面試官硬說不是線性 大概有以下幾種可能
1. 面試官搞錯order map跟unordered map了
2. 面試官想追問worst case的話 hash table的search複雜度就不是O(1)
這樣你的答案就不是O(m+n)
1的情形是面試官顆顆
2的情形可能是溝通誤會
可能是面試官沒有明確說 what if collision happens very frequently?
也可能是你朋友沒有理解面試官其實想問collision之後的chaining的結果
不過既然你朋友知道紅黑樹這東西
沒道理不知道紅黑樹是為了解決hash的collision問題
所以我猜是面試官自己搞錯了
但是不管1或2 都是move on就好 不用糾結在實作上的特性
你就想想 如果你遇到這種同事 你會想跟他一起工作嗎?
※ 引述《cccict (馬路柏油)》之銘言:
: 剛剛編輯文章按到復原草稿
: 插入很多不必要東西
: 但用Pitt沒辦法編輯
: 所以刪除重po不好意思
: 以下代之前社團認識的學妹代po詢問
: 我是今年畢業的新鮮人
: 今天面試白板考的時候考了跟差集有關的問題
: 關於時間複雜度的部分怎麼想都想不通
: 已經查過資料也跟要考資工所的朋友、資工系的朋友討論過
: 仍然不確定答案,想請版上大神開示一下:D
: 題目:有A、B兩個未經排序的array
: A有n個整數,B有m個整數
: 寫一個function回傳在A且不在B的整數。
: (皆先不討論A、B內各自有重複元素的情況)
: 我的做法:
: 1.先把B的每個元素放進dictionary
: 2.然後用for檢查A的每個元素是否為dictionary的key,不是的話就加入ans的list
: 3.回傳ans
: 想以python的dictionary來討論這題的時間複雜度
: 用B建立長度為m的dictionary
: 新增一組key-value時間複雜度是O(1);A的長度為n
: 查找是否在dictionary的key時的時間複雜度是O(1)
: 我覺得時間複雜度是O(m+n)。
: 參考leetcode簡中板的類似題目的官方詳解(只有簡中版討論區有官方詳解)
: https://reurl.cc/KAaRmy
: leetcode這題基本一樣
: 是找出在A且在B的整數
: 官方是用set來實作
: 時間複雜度是O(m+n)
: 想請問dictionary和set()底層的hash原理會是造成時間複雜度不同的關鍵嗎?
: Python程式碼如下
: def solution(A:List[int], B:List[int]):
: ans = []
: dic = dict()
: for b in B:
: dic[b] = b
: for a in A:
: if a not in dic:
: ans.append(a)
: return ans
: 另外,我知道hash在python以外的語言像是C/C++
: 若是基於紅黑樹來實做的話
: 時間複雜度會是O(nlogm)。
: 我想問的是python的時間複雜度!
: 補充
: 想知道答案是因為
: 面試官說我的答案O(m+n)一定不對
: 他很肯定說這樣做答案絕對不是線性的
: 想請問這樣計算時間複雜度到底哪裡有問題
: 謝謝
--
79
[面試] 2020新鮮人面試(MixerBox/Nvidia/AWS/Sho自我介紹: 四大學碩 這篇文章大概分享我今年2月多到現在面試的結果跟心得 但有幾間公司還在等結果 因為疫情影響都沒什麼面試機會 原本想試看看新思的研替 結果連面試機會都沒有64
[心得] 2021大四實習面試心得全滅心得文,給大家笑一下。 投履歷直接無聲卡就不一一列出了。 ## 背景 履歷上有提到的 * 外商實習,geocoding相關54
Re: [請益] Google面試時都不能停下來想嗎?因為你搞錯面試的目的, coding面試是在了解一個面試者怎麼如何解題, 進而了解這個人適不適合當同事. 一般來說, 一個解題流程基本上大概是: (1) 釐清問題 (Input/Output, 特殊限制?)46
[問卦] 「是否有面試其他公司」 此題怎解?面試的時候常常會被問說是否有面試其他公司 這題有沒有最佳解阿 回答有的話面試官會不會覺得那我也不用選你 反正你還有別家公司 回答沒有的話怕又被認為沒其他公司要我49
[閒聊] 面試官問:你的夢想是什麼?今天面試, 面試官問我:你的夢想是什麼? 我好想回答:我的夢想就是不要上班啊啊啊啊啊啊啊(*/ω\*) 那~我就好奇! 面試官想聽到什麼樣的答案!32
[心得] 2021前端工程師面試心得幫轉,不是我的心得。 要看網誌請搜尋李彥杰 2021 前端工程師面試心得 應該就找得到;我貼網址一直失敗。 一、前言 先簡介一下背景,小弟畢業於112EE,大二的時候開始接觸前端,一開始是看線上平台的課程學習,之後大三大四分別進入了三家不同的公司做前端實習生,畢業後做了正職前端工程師大約八個月。這次找工作從二月過完年後開始找工作,總共經歷大約一個月的時間。 因為之前受到ptt版友還有一些medium的文章幫助很多,所以趁這個機會來回饋一下,也當作是紀錄自己人生的小里程碑。10
Re: [請益] (ByteDance 面試) 兩種不同寫法的複雜度分析這個第一個做法一看就很簡單不會是N^2 如果是我會這樣嘗試跟面試官解釋 字串abccba L RX
Re: [請益] (ByteDance 面試) 兩種不同寫法的複雜度分析這題應該是用dict,而不是set。用dict來紀錄字元的位置,這樣就不用while來重找。 面試官對你很好,提示你不要用while,讓你想其它方法,可惜你卡在n2,2n的問題上。 --6
[面試] 前端工程師面試心得一、前言 先簡介一下背景,小弟畢業於112EE,大二的時候開始接觸前端,一開始是看線上平台的 課程學習,之後大三大四分別進入了三家不同的公司做前端實習生,畢業後做了正職前端 工程師大約八個月。這次找工作從二月過完年後開始找工作,總共經歷大約一個月的時間 。因為之前受到ptt版友還有一些medium的文章幫助很多,所以趁這個機會來回饋一下。