數(shù)組 C[I] = A[I] + B[I] / 1,000,000.例如 A 和 B:A[0] = 0 B[0] = 500,000A[1] = 1 B[1] = 500,000A[2] = 2 B[2] = 0A[3] = 2 B[3] = 0A[4] = 3 B[4] = 0A[5] = 5 B[5] = 20,000則 C:C[0] = 0.5C[1] = 1.5C[2] = 2.0C[3] = 2.0C[4] = 3.0C[5] = 5.02尋找一對下標(P, Q) 滿足 0 ≤ P < Q < N 且 C[P] * C[Q] ≥ C[P] + C[Q].上面的數(shù)組中滿足條件的有:(1, 4), 1.5 * 3.0 = 4.5 ≥ 4.5 = 1.5 + 3.0,(1, 5), 1.5 * 5.02 = 7.53 ≥ 6.52 = 1.5 + 5.02,(2, 3), 2.0 * 2.0 = 4.0 ≥ 4.0 = 2.0 + 2.0,(2, 4) and (3, 4), 2.0 * 3.0 = 6.0 ≥ 5.0 = 2.0 + 3.0.(2, 5) and (3, 5), 2.0 * 5.02 = 10.04 ≥ 7.02 = 2.0 + 5.02.(4, 5), 3.0 * 5.02 = 15.06 ≥ 8.02 = 3.0 + 5.02.現(xiàn)要求寫個方法:class Solution { public int solution(int[] A, int[] B); }給出數(shù)組 A and B, 分別包含N個非負整數(shù), 返回滿足條件的下標對個數(shù).如果滿足條件的下標對超過 1,000,000,000, 則返回 1,000,000,000.例如,給出:A[0] = 0 B[0] = 500,000A[1] = 1 B[1] = 500,000A[2] = 2 B[2] = 0A[3] = 2 B[3] = 0A[4] = 3 B[4] = 0A[5] = 5 B[5] = 20,000此方法應返回 8.假設:N 是整數(shù),取值范圍 [0..100,000];數(shù)組A中的元素取值范圍 [0..1,000];數(shù)組B中的元素取值范圍 [0..999,999];數(shù)組C中的元素為非遞減.復雜度要求:最壞的情況下,時間復雜度 O(N);最壞的情況下,空間復雜度 O(1), 不包括參數(shù)的存儲空間.
添加回答
舉報
0/150
提交
取消