题目难度:简单
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
for(var i = 0; nums.length>i; i++){
for(var j = i+1; nums.length>j; j++){
if(nums[i]+nums[j]===target){
return [i, j]
}
}
}
};
twoSum([2, 7, 11, 15], 22);
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
const diffs = new Map();
const j = nums.findIndex((a, i) => diffs.has(target - a) || diffs.set(a, i) && 0);
return [diffs.get(target - nums[j]), j];
};
twoSum([2, 7, 11, 15], 22);
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
var numObj = {};
for(var i = 0; nums.length > i; i++){
var n = target - nums[i];
if(numObj[n]!==undefined){
return [numObj[n], i]
}
numObj[nums[i]] = i;
}
return [];
};
twoSum([2, 7, 11, 15], 22);
/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
if(x===0)return x;
let isMinus = x>0?true:false;
let value = (x+'').split('').reverse().join('');
let result = isMinus?parseInt(value):-parseInt(value);
let maxValue = Math.pow(2, 31);
let minValue = -maxValue;
if(minValue <= result && result <= maxValue-1){
return result;
}
return 0;
};
/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
let maxValue = Math.pow(2, 31);
let result = 0;
while(x !== 0) {
result = result*10 + x%10;
x = ~~(x/10);
}
return (result <= maxValue-1 && result >= -1*maxValue)?result:0;
};