我有以下演算法,有人可以幫我解決這個問題嗎?我只需要一個解釋。
“如果沒有元素是另一個元素的立方,則具有 n 個整數元素的向量 a[] 是無立方重復的,即沒有索引 i,j 使得 a[i] = a[j]3 。提出一個O(n*log(n))-時間演算法,以確定向量是否是無立方體重復的。"
uj5u.com熱心網友回復:
O(n) 解決方案:
- 將向量的每個元素 v[i] 添加到哈希集。
- 對于每個元素 v[i],檢查 v[i] * v[i] * v[i] 是否在集合中。
O(n*logn) 解決方案:
- 對向量 v 進行排序。
- 指標 start = 0 和 end = 1。
- 當 end < n 時,請執行以下操作:
- 如果 v[start] * v[start] * v[start] 等于 v[end],則該向量不是無立方體重復的。
- 如果 v[start] * v[start] * v[start] < v[end] 然后遞增 start。
- 否則遞增結束。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/422782.html
標籤:
上一篇:求凸多邊形的最小面積矩形
下一篇:搜索插入位置-錯誤的答案
