LeetCode-兩數之和 II
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。
函式應該返回這兩個下標值index1 和 index2,其中 index1 必須小於 index2。
說明:
- 返回的下標值(index1 和 index2)不是從零開始的。
- 你可以假設每個輸入只對應唯一的答案,而且你不可以重複使用相同的元素。
示例:
輸入: numbers = [2, 7, 11, 15], target = 9 輸出: [1,2]
解釋: 2 與 7 之和等於目標數 9 。因此 index1 = 1, index2 = 2 。
思路:
1.這道題其實是很簡單了,可以利用map進行儲存,然後遍歷查詢有無相加為target的元素。
2.改進方法:因為已經說明是升序了,所以其實可以把指標從左和從右向中間靠攏找。
class Solution { public int[] twoSum(int[] numbers, int target) { int index[] = new int[2]; Map map = new HashMap<Integer, Integer>(); int length = numbers.length; for (int i = 0; i < length; ++i) { map.put(numbers[i], i); } for (int i = 0; i < length; ++i) { int k = target -numbers[i]; if(map.containsKey(k)) { k = (int)map.get(k); if(k==i) { continue; } index[0] = i+1; index[1]=k+1; break; } } return index; } }
相關推薦
leetcode-兩數之和II-C++
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值index1 和 index2,其中 index1 必須小於 index2。說明:返回的下標值(inde
LeetCode-兩數之和 II
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值index1 和 index2,其中 index1 必須小於 index2。說明:返回的下標值(inde
【leetcode 簡單】第三十七題 兩數之和 II - 輸入有序數組
nbsp def art col else ber clas 不可 strong 給定一個已按照升序排列 的有序數組,找到兩個數使得它們相加之和等於目標數。 函數應該返回這兩個下標值index1 和 index2,其中 index1 必須小於 index2。 說明: 返
Leetcode 167. 兩數之和 II - 輸入有序數組 By Python
目標 .cn 一個 bject strong 輸入 {} 不可 tar 給定一個已按照升序排列 的有序數組,找到兩個數使得它們相加之和等於目標數。 函數應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值
LeetCode演算法題167:兩數之和 II - 輸入有序陣列解析
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。 函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)不是從零開始的。 你可以假設每個輸入只對應唯一的答案,而且
Leetcode 167. 兩數之和 II - 輸入有序陣列 Java&Python
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。 函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)不是從零開始的。
領釦(LeetCode)兩數之和II - 輸入有序陣列 個人題解
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。 函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)不是從零開始的。 你
LeetCode-167. 兩數之和 II - 輸入有序陣列
題目 給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。 函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)不是從零開始的。 你可以假設每個
Leetcode刷題 167. 兩數之和 II
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。 函式應該返回這兩個下標值index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)不是從零開始的。 你可以假設每個輸入
LeetCode演算法題167:兩數之和 II
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。 函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)不是從零開始的。 你可以假設
Leetcode 167:兩數之和 II
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。 函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)不是從零開始的。 你
leetcode 167. 兩數之和 II - 輸入有序數組(Two Sum II - Input array is sorted)
else get () 返回 div 目標 href 有序數組 twosum 目錄 題目描述: 示例: 解法: 題目描述: 給定一個已按照 升序排列 的有序數
167 Two Sum II - Input array is sorted 兩數之和 II - 輸入有序數組
數組 != 解決 升序 desc 一個 輸入 pub cpp 給定一個已按照升序排列 的有序數組,找到兩個數使得它們相加之和等於目標數。函數應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。請註意,返回的下標值(index1
[leetcode]兩數之和
描述 () 另一個 -s nbsp get list 示例 class 題目描述: 給定一個整數數組和一個目標值,找出數組中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重復利用。 示例: 給定 nums = [2, 7, 11, 15], ta
167. 兩數之和 II - 輸入有序數組
給定 ont 相加 pla number pan 元素 return [] Given an array of integers that is already sorted in ascending order, find two numbers such that th
LeetCode兩數之和(Python)
LeetCode 兩數之和(Python) 題目:給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例 給定 nums = [2, 7, 11, 15], target = 9 因為 nums[0]
LeetCode_167. 兩數之和 II - 輸入有序陣列
因為前提條件是升序 加上是兩個數 可以考慮雙索引數進行左右移動 public int[] twoSum(int[] numbers, int target) { // 設定雙向索引數 int left = 0, right = numbers.length
LeetCode:兩數之和
https://leetcode-cn.com/problems/two-sum/description/ 給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例: 給定 nums = [2, 7, 11
【JS】兩數之和 II - 輸入有序陣列 #陣列 #雙指標 #二分查詢
給定一個已按照升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。 函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明: 返回的下標值(index1 和 index2)不是從零開始的。 你可以假設每個輸入只對應唯一的答案,
Leetcode 兩數之和(c++)
給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例: 給定 nums = [2, 7, 11, 15], target = 9 因為 nums[0] + nums[1] = 2 + 7 = 9