Skip to content

Commit 15d3648

Browse files
committed
小傅哥 | 1. 两数之和
1 parent b3dfe49 commit 15d3648

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

LeetCode/Two Sum/code.js

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,37 @@ const logger = new LogTracer('两数之和');
77
Layout.setRoot(new VerticalLayout([tracerArray, tracerBit, logger]));
88

99
var twoSum = function (nums, target) {
10-
var volume = 32;
10+
var volume = 16;
1111
var bitMode = volume - 1;
12-
var t = new Array(32).fill(0);
13-
12+
var t = new Array(16).fill(0);
13+
// 设置bit数组
1414
tracerBit.set(t);
1515

1616
for (var i = 0; i < nums.length; i++) {
17+
tracerArray.select(i);
18+
Tracer.delay();
19+
1720
var c = (target - nums[i]) & bitMode;
1821
if (t[c] !== 0) return [t[c] - 1, i];
19-
t[nums[i] & bitMode] = i + 1;
22+
23+
var bitIdx = nums[i] & bitMode;
24+
var bitVal = i + 1;
25+
t[bitIdx] = bitVal;
26+
logger.println('数据存放-> bitIdx:' + bitIdx + ' bitVal:' + bitVal);
27+
28+
tracerArray.deselect(i);
29+
tracerBit.patch(bitIdx, bitVal);
2030
}
2131
return [-1, -1];
2232
};
2333

2434
(function main() {
25-
var nums = [2, 7, 11, 15];
35+
var nums = [3, 7, 1, 10, 4, 2];
2636
tracerArray.set(nums);
2737

2838
var idx = twoSum(nums, 9);
2939

30-
logger.println(idx);
40+
logger.println('两数之和(Idx):' + '[' + idx + ']');
3141

3242
})();
3343

0 commit comments

Comments
 (0)