和最接近0的兩個數
阿新 • • 發佈:2018-03-08
舉例 mil 絕對值 www. 取絕對值 ive bsp 題目 得到
題目描述:有n個數的數組,找出這個數組中的兩個數,使得這兩個數的和最接近0。
步驟:
1 數組元素從小到大排序。
2 設置兩個遊標,一個指向第一個數,另一個指向最後一個數。
3 把兩個遊標指向的數相加取絕對值,與當前得到的最小值比較,更小則記錄。比較兩個遊標指向的數的絕對值,移動絕對值較大者對應的遊標(如果是左側遊標,則向右移動;否則右側遊標向左移動)。重復當前步驟,直到和是0或者兩個遊標相遇。
舉例:
原始序列: -2 3 4 -7 9 5 排序後: -7 -2 3 4 5 9 尋找過程: res = MAX_INF; -7 -2 3 4 5 9 | | res = 2 -7 -2 3 4 5 9 | | res = 2 -7 -2 3 4 5 9 | | res = 2 -7 -2 3 4 5 9 | | res = 2 -7 -2 3 4 5 9 | | res = 1 -7 -2 3 4 5 9 | res = 1
參考資料
有N個數的數組,找出這個數組中的兩個數,使得這兩個數的和最接近0
和最接近0的兩個數