摘要:題目描述輸入一個遞增排序的數組和一個數字,在數組中查找兩個數,是的他們的和正好是,如果有多對數字的和等于,輸出兩個數的乘積最小的。解題思路數組是遞增的,且給的數字是固定的,那就可以用夾逼法。和碰頭了說明該結束了。
題目描述
輸入一個遞增排序的數組和一個數字S,在數組中查找兩個數,是的他們的和正好是S,如果有多對數字的和等于S,輸出兩個數的乘積最小的。
解題思路數組是遞增的,且給的數字S是固定的,那就可以用夾逼法。
兩個指針left和right從數組的兩端開始,要是left和right指向的數字之和大于S,說明right得向左移動一下,因為right的左邊是比它小的數字;要是left的right指向的數字之和小于S,說明left得向 右邊移動一下,因為left的右邊是比它大的數字。left和right碰頭了說明該結束了。
function FindNumbersWithSum(array, sum) { if(!array || array.length < 2 || sum === 0) return []; var left = 0; var right = array.length-1; var res = []; while(left !== right) { var curSum = array[left]+array[right]; if(curSum === sum){ res.push(array[left]); res.push( array[right]); break; } else if(curSum > sum) right--; else left++ } return res; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95644.html
摘要:題目描述輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。思路二叉樹的大多數問題可以使用遞歸來解決,本題亦如此。 題目描述 輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和為輸入整數的所有路徑。路徑定義為從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。 思路 二叉樹的大多數問題可以使用...
摘要:第二題羅馬數字轉整數難度簡單羅馬數字包含以下七種字符,,,,,和。字符數值例如,羅馬數字寫做,即為兩個并列的。通常情況下,羅馬數字中小的數字在大的數字的右邊。給定一個羅馬數字,將其轉換成整數。 隨便說點啥 TIME:2019-02-01昨晚其實刷了題來著,但是沒有解出來,哭泣!但是,今天重新寫了下,解出來咯~所以今天的題量要增加咯~我會加油的! 第一題 14. 最長公共前綴難度:簡單 ...
摘要:為了尋找合適的正負號賦值,我們其實可以將數組分為兩個子集,其中一個子集中的數字都被賦予了正號,而另一個子集中的數字都被賦予了負號。如果二者的和不是一個偶數,就一定無法找到這樣的正負號集合使得其結果為。 題目要求 You are given a list of non-negative integers, a1, a2, ..., an, and a target, S. Now yo...
摘要:給定一個包含中個數的序列,找出中沒有出現在序列中的那個數。求合法開始之前我先說一下我的思路個有序數字累加和,數學里邊是有公式的,我們重溫一下推導過程。 給定一個包含 0, 1, 2, ..., n 中 n 個數的序列,找出 0 .. n 中沒有出現在序列中的那個數。 示例 1: 輸入: [3,0,1]輸出: 2示例 2: 輸入: [9,6,4,2,3,5,7,0,1]輸出: 8 下面我...
摘要:給定表,存在函數,對任意給定的關鍵字值,代入函數后若能得到包含該關鍵字的記錄在表中的地址,則稱表為哈希表,函數為哈希函數。而中的對象就是基于哈希表結構,所以我們構造一個對象即可,是當前遍歷到的值,是其與目標值的差。 大部分玩前端的小伙伴,在算法上都相對要薄弱些,畢竟調樣式、調兼容就夠掉頭發的了,哪還有多余的頭發再去折騰。 確實在前端中需要使用到算法的地方是比較少,但若要往高級方向發展,...
閱讀 977·2021-11-22 09:34
閱讀 2161·2021-11-11 16:54
閱讀 2196·2021-09-27 14:00
閱讀 940·2019-08-30 15:55
閱讀 1525·2019-08-29 12:46
閱讀 599·2019-08-26 18:42
閱讀 639·2019-08-26 13:31
閱讀 3183·2019-08-26 11:52