給定乙個只包含整數的有序陣列,每個元素都會出現兩次,唯有乙個數隻會出現一次,找出這個數。
示例 1:
輸入: [1,1,2,3,3,4,4,8,8]
輸出: 2
示例 2:
輸入: [3,3,7,7,10,11,11]
輸出: 10
#include
using
namespace std;
intmain()
;int i;
if(a[0]
!=a[1]
)//第乙個為單個元素的情況
cout<< a[0]
<<
"hello"
;else
}cout<;return0;
}
暴力破解是沒用的超標了,人家要求時間是 o(log n)
空間是o(1)但是暴力的時間複雜度達到了 o (n)所以不滿足
再就是官方的通過解法 二分搜尋,這裡就不貼圖了,直接放個鏈結,官方畫圖畫的很詳細
力扣第4題尋找兩個有序陣列的中位數個人題解
題目 給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。示例 1 nums1 1,3 nums2 2 則中位數是 2.0 示例 2 nums1 1...
540 有序陣列中的單一元素 力扣 c
題目 給定乙個只包含整數的有序陣列,每個元素都會出現兩次,唯有乙個數隻會出現一次,找出這個數。樣例 示例 1 輸入 1,1,2,3,3,4,4,8,8 輸出 2示例 2 輸入 3,3,7,7,10,11,11 輸出 10注意 您的方案應該在 o log n 時間複雜度和 o 1 空間複雜度中執行。思...
LeetCode 第4題 尋找有序陣列的中位數
尋找兩個有序陣列的中位數 給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 你可以假設 nums1 和 nums2 不會同時為空。示例 1 nums1 1,3 nums2 2 則中位數是 2.0 示例...