Skip to content

Commit

Permalink
feat: add 2nd ts solution to lc problem: No.0995
Browse files Browse the repository at this point in the history
  • Loading branch information
rain84 committed Jun 24, 2024
1 parent 6c44148 commit 6b20569
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -234,4 +234,36 @@ impl Solution {

<!-- solution:end -->

<!-- solution:start -->

### Solution 2

<!-- tabs:start -->

#### TypeScript

```ts
function minKBitFlips(nums: number[], k: number): number {
const n = nums.length;
let [ans, flipped] = [0, 0];

for (let i = 0; i < n; i++) {
if (nums[i - k] === -1) flipped--;
if (nums[i] === (flipped & 1)) {
flipped++;
ans++;
nums[i] = -1;

if (n - k < i) return -1;
}
}

return ans;
}
```

<!-- tabs:end -->

<!-- solution:end -->

<!-- problem:end -->
Original file line number Diff line number Diff line change
Expand Up @@ -232,4 +232,36 @@ impl Solution {

<!-- solution:end -->

<!-- solution:start -->

### Solution 2

<!-- tabs:start -->

#### TypeScript

```ts
function minKBitFlips(nums: number[], k: number): number {
const n = nums.length;
let [ans, flipped] = [0, 0];

for (let i = 0; i < n; i++) {
if (nums[i - k] === -1) flipped--;
if (nums[i] === (flipped & 1)) {
flipped++;
ans++;
nums[i] = -1;

if (n - k < i) return -1;
}
}

return ans;
}
```

<!-- tabs:end -->

<!-- solution:end -->

<!-- problem:end -->
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
function minKBitFlips(nums: number[], k: number): number {
const n = nums.length;
let [ans, flipped] = [0, 0];

for (let i = 0; i < n; i++) {
if (nums[i - k] === -1) flipped--;
if (nums[i] === (flipped & 1)) {
flipped++;
ans++;
nums[i] = -1;

if (n - k < i) return -1;
}
}

return ans;
}

0 comments on commit 6b20569

Please sign in to comment.