我目前正在使用leetcode爲面試做準備。 這是我遇到的問題,非常簡單。 兩個總:時間複雜度和運行時間之間的關係是什麼?
鑑於NUMS = [2,7,11,15],目標= 9,
由於NUMS [0] + NUMS [1] = 2 + 7 = 9, 返回[0 ,1]。
這裏是我的解決方案,其時間複雜度爲O(n),空間複雜度爲O(n)。 enter image description here
詳細信息顯示它的運行時相當緩慢,甚至被O(n)^ 2解決方案打敗。
我想當然地認爲較低的時間複雜性意味着更快的運行時間。現在我很困惑。運行時間和時間複雜度之間有什麼關係?面試中預計會有什麼樣的解決方案?
將來,將您的代碼作爲文本從IDE複製並粘貼到問題中。圖像不能被搜索引擎索引,還有其他問題。有關討論,請參閱https://meta.stackoverflow.com/q/285551/215552。 –
如果給定nums = [2,3,3,5]和6的目標,那麼解決方案是nums [1] + nums [2],但是你的代碼將無法找到它,因爲Map不允許重複。正確性第一,表現第二。 –