Java
暴利解法
class Solution {
public int[] twoSum(int[] nums, int target) {
int n = nums.length;
for (int i = 0; i < n; ++i) {
for (int j = i + 1; j <n; ++j) {
if(nums[i] + nums[j] == target) {
return new int[]{i, j};
}
}
}
return new int[0];
}
}
哈希表
class Solution {
public int[] twoSum(int[] nums, int target) {
Map<Integer, Integer> hashtable = new HashMap<Integer, Integer>();
for(int i = 0; i < nums.length; i++) {
if(hashtable.containsKey(target - nums[i])) {
return new int[]{target - nums[i], i};
}
hashtable.put(nums[i], i);
}
return new int[0];
}
}
Golang
暴利解法
func twoSum(nums []int, target int) []int {
for i, x := nums {
for j := i + 1; j < len(nums); j++ {
if x + nums[j] == target {
return []int{i, j}
}
}
}
return nil
}
哈希表
func twoSum(nums []int, target int) []int {
hashTable := map[int]int{}
for i, x := range nums {
if h, err := hashTable[target - x]; err {
return []int{h, i}
}
hashTable[x] = i
}
return nil
}
JavaScript
暴利解法
function twoSum(nums: number[], target: number): number[] {
for(let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
if (nums[i] + nums[j] === target) {
return [i, j];
}
}
}
return [];
};
Object
function twoSum(nums: number[], target: number): number[] {
const hashTable: { [key: number]: number } = {};
for (let i = 0; i < nums.length; i++) {
if(hashTable.hasOwnProperty(target - nums[i])) {
return [hashTable[target - nums[i]], i]
}
hashTable[nums[i]] = i;
}
return [];
};