Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f1cdd5e

Browse files
update 3 leetcode
1 parent ea59335 commit f1cdd5e

File tree

3 files changed

+97
-0
lines changed

3 files changed

+97
-0
lines changed

‎leetcode/1.two-sum.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* @lc app=leetcode id=1 lang=javascript
3+
*
4+
* [1] Two Sum
5+
*/
6+
7+
// @lc code=start
8+
/**
9+
* @param {number[]} nums
10+
* @param {number} target
11+
* @return {number[]}
12+
*/
13+
var twoSum = function(nums, target) {
14+
for (let i = 0; i < nums.length - 1; i++) {
15+
for (let j = i + 1; j < nums.length; j++) {
16+
const ei = nums[i];
17+
const ej = nums[j];
18+
if (ej + ei === target) {
19+
return [i, j]
20+
}
21+
}
22+
}
23+
};
24+
25+
// @lc code=end

‎leetcode/35.search-insert-position.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* @lc app=leetcode id=35 lang=javascript
3+
*
4+
* [35] Search Insert Position
5+
*/
6+
7+
// @lc code=start
8+
/**
9+
* @param {number[]} nums
10+
* @param {number} target
11+
* @return {number}
12+
*/
13+
var searchInsert = function(nums, target) {
14+
const len = nums.length;
15+
let left = 0, right = len - 1, ans = len;
16+
// 二分法向中间查找
17+
// 不是两边往中间找,而是不断更新中间值
18+
while (left <= right) {
19+
// 二进制右移一位,等同于对半取整,因为向左一位是乘以 2, 向右一位是除以 2
20+
let mid = ((right - left) >> 1) + left;
21+
if (target <= nums[mid]) {
22+
ans = mid;
23+
right = mid - 1;
24+
} else {
25+
left = mid + 1;
26+
}
27+
}
28+
return ans;
29+
};
30+
searchInsert([1,3,5,6], 2);
31+
// @lc code=end

‎leetcode/7.reverse-integer.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
/*
2+
* @lc app=leetcode id=7 lang=javascript
3+
*
4+
* [7] Reverse Integer
5+
*/
6+
7+
// @lc code=start
8+
/**
9+
* @param {number} x
10+
* @return {number}
11+
*/
12+
var reverse = function(x) {
13+
// 是否是 负数
14+
let f = x < 0;
15+
// 转成字符串,再用数组反序
16+
let newX = +(Math.abs(x).toString().split('').reverse().join(''));
17+
newX = f ? -1 * newX : newX;
18+
if (Math.pow(-2, 31) > newX || (Math.pow(2, 31) - 1) < newX) {
19+
return 0;
20+
}
21+
return newX;
22+
};
23+
24+
/**
25+
* @param {number} x
26+
* @return {number}
27+
*/
28+
var reverseMath = function(x) {
29+
// 数学的方法 每一位相除
30+
let res = 0;
31+
while (x) {
32+
const digit = x % 10;
33+
x = ~~(x / 10);
34+
res = digit + res * 10;
35+
if (Math.pow(-2, 31) > res || (Math.pow(2, 31) - 1) < res) {
36+
return 0;
37+
}
38+
}
39+
return res;
40+
};
41+
// @lc code=end

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /