Skip to content

Commit 5ce201b

Browse files
committed
add 2389 ts solution
1 parent 8220a0e commit 5ce201b

File tree

1 file changed

+26
-0
lines changed
  • Problems/09-Longest-Subsequence-With-Limited-Sum

1 file changed

+26
-0
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
function answerQueries(nums: number[], queries: number[]): number[] {
2+
nums = nums.sort((a, b) => a - b);
3+
let prefix: number[] = [nums[0]];
4+
let res: number[] = [];
5+
for (let i = 1; i < nums.length; i++) {
6+
prefix.push(prefix[i - 1] + nums[i]);
7+
}
8+
9+
for (let target of queries) {
10+
let left: number = 0;
11+
let right: number = prefix.length;
12+
let mid: number;
13+
while (left < right) {
14+
mid = left + Math.floor((right - left) / 2);
15+
if (prefix[mid] > target) right = mid;
16+
else if (prefix[mid] === target) {
17+
left = mid + 1;
18+
break;
19+
}
20+
else left = mid + 1;
21+
}
22+
23+
res.push(left);
24+
}
25+
return res;
26+
};

0 commit comments

Comments
 (0)