《LeetCode之每日一题》:148.回旋镖的数量
生活随笔
收集整理的這篇文章主要介紹了
《LeetCode之每日一题》:148.回旋镖的数量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
回旋鏢的數量
- 有關題目
- 題解
題目鏈接: 回旋鏢的數量
有關題目
給定平面上 n 對 互不相同 的點 points ,其中 points[i] = [xi, yi] ?;匦S 是由點 (i, j, k) 表示的元組 , 其中 i 和 j 之間的距離和 i 和 k 之間的距離相等(需要考慮元組的順序)。返回平面上所有回旋鏢的數量。 示例 1:輸入:points = [[0,0],[1,0],[2,0]] 輸出:2 解釋:兩個回旋鏢為 [[1,0],[0,0],[2,0]] 和 [[1,0],[2,0],[0,0]] 示例 2:輸入:points = [[1,1],[2,2],[3,3]] 輸出:2 示例 3:輸入:points = [[1,1]] 輸出:0 提示:n == points.length 1 <= n <= 500 points[i].length == 2 -10^4 <= xi, yi <= 10^4 所有點都 互不相同題解
Tips
①C++ 11原本的auto 寫法 for(auto & j : cnt),然后下方使用 j.first,j.second。C++17的寫法改成,可以直接取 map 里面 [v1, v2] 充當 j.first 及 j.second,如果下方不需要讀值則可以用_代替 ②auto& 與 auto &&的區別 &為引用,相當于C中的指針,拿到所引用數據的地址,&&為右值引用,右值可以看作程序運行中的臨時結果,直接引用返回的對象,避免了對象復制,從而提高效率。法一:枚舉 + 哈希表
參考官方題解
時間復雜度:O(n^2),n 為points數組的長度
空間復雜度:O(n),哈希表存儲所需O(n)復雜度
法二:優化法一
參考官方題解評論區下夢璃夜·天星
時間復雜度:O(n^2),n 為points數組的長度
空間復雜度:O(n)
總結
以上是生活随笔為你收集整理的《LeetCode之每日一题》:148.回旋镖的数量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去健身房健身戴什么耳机好、最适合运动健身
- 下一篇: 51单片机基础——数码管数组动态显示0—