20220426, 7min
|
```javascript
/**
- @param {number[]} nums
- @param {number} target
@return {number[]} */ // 15:13 -> 15:20 var twoSum = function(nums, target) { if (nums.length < 2) return [] const obj = {} for (let i = 0; i < nums.length; i++) { const rest = target - nums[i]; // if (obj[rest] !== undefind) { // bug:undefind is not defined // 应该是undefined, 不是undefind // if (typeof obj[rest] !== ‘undefind’) { if (typeof obj[rest] !== ‘undefined’) {
return [obj[rest], i]; } obj[nums[i]] = i; } }; ``` | | —- |
20220420,16min
|
```javascript
/**
- @param {number[]} nums
- @param {number} target
- @return {number[]} */ // 09:14 -> 09:30 var twoSum = function(nums, target) { let obj = {} for (let i = 0; i < nums.length; i++) { const rest = target - nums[i]; // if (obj[rest]) { if (obj[rest] !== undefind){ // bug:不能写obj[rest],因为这样写的话,如果下标是0,也会被排除 return [obj[rest], i] } else { // obj[rest] = i // bug: obj[nums[i]] = i } } return [] }; ``` | | —- |
20220418,超出时间限制
|
```javascript
// 21:55 -> 22:02
//
var twoSum = function(nums, target) {
const len = nums.length;
let arr = [];
for (let i = 0; i < len; i++) {
const rest = target - nums[i];
for (let j = i + 1; j < len; i++) {
if (rest === nums[j]) {
arr.push([i, j])
break;
}
}
}
return arr[0];
};
|
| --- |
<a name="jDLTQ"></a>
## 20220415, 7min
| <br />```javascript
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
// 15:24 -> 15:31
var twoSum = function(nums, target) {
let obj = {}
for (let i = 0; i < nums.length; i++) {
const rest = target - nums[i];
if (obj[rest] !== undefined) {
return [obj[rest], i]
}
// obj[i] = i // bug
obj[nums[i]] = i;
}
return []
};
| | —- |
20220414,12min
|
```javascript
/**
- @param {number[]} nums
- @param {number} target
@return {number[]} */ // 11:56 -> 12:08 // 变量 // 循环,计算rest = target - 当前值,如果obj[rest]不为undefined,则表示当前值 和obj中存的rest的值相加为target,返回;如果不为undefined,则存入到obj中 // 如果都没有,返回空数组 var twoSum = function(nums, target) {
// const map = new Map() // bug // const map = {} // for (let i = 0; i < nums.length; i++) { // const rest = target - nums[i] // if (map.has(nums[i])) {
// } // map[nums[i]] = i; // }
const obj = {}
for (let i = 0; i < nums.length; i++) { const rest = target - nums[i]; if (obj[rest] !== undefined) { return [obj[rest], i] } obj[nums[i]] = i } return [] };
|
| --- |
<a name="owxxh"></a>
## 20220413, 30min
| <br />```javascript
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
// 11:06 ->
var twoSum = function(nums, target) {
let len = nums.length;
let left = 0;
let right = 0;
for (let i = 0; i < len; i++) {
// while(len - i > 0 && (nums[i] + nums[len-i]) === target) {
// }
// console.log('len-i:', len-i);
// for (let j = (i + 1); j <= len - i; j++) { // bug:
for (let j = (i + 1); j <= len; j++) {
// for (let j = 1; j < len; j++) {
// if (nums[i] + nums[j] === target) {
if ((nums[i] + nums[j]) === target) {
left = i;
right = j;
// continue;
}
}
}
return [left, right];
};
执行用时:144 ms, 在所有 JavaScript 提交中击败了19.08%的用户
内存消耗:41.2 MB, 在所有 JavaScript 提交中击败了74.91%的用户
通过测试用例:57 / 57 |
| —- |