Skip to content

Commit dc5512a

Browse files
authored
feat: add ts solution to lc problem: No.0982 (doocs#1658)
No.0982.Triples with Bitwise AND Equal To Zero
1 parent 2460f66 commit dc5512a

File tree

5 files changed

+64
-4
lines changed

5 files changed

+64
-4
lines changed

solution/0900-0999/0972.Equal Rational Numbers/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
<ul>
1414
<li><code>&lt;IntegerPart&gt;</code>&nbsp;
15-
1615
<ul>
1716
<li>例:&nbsp;<code>0</code>&nbsp;,<code>12</code>&nbsp;和&nbsp;<code>123</code>&nbsp;</li>
1817
</ul>
@@ -27,7 +26,6 @@
2726
<li>例: <code>0.1(6)</code> , <code>1.(9)</code>, <code>123.00(1212)</code></li>
2827
</ul>
2928
</li>
30-
3129
</ul>
3230

3331
<p>十进制展开的重复部分通常在一对圆括号内表示。例如:</p>

solution/0900-0999/0972.Equal Rational Numbers/README_EN.md

-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
<ul>
1212
<li><code>&lt;IntegerPart&gt;</code>
13-
1413
<ul>
1514
<li>For example, <code>12</code>, <code>0</code>, and <code>123</code>.</li>
1615
</ul>
@@ -25,7 +24,6 @@
2524
<li>For example, <code>0.1(6)</code>, <code>1.(9)</code>, <code>123.00(1212)</code>.</li>
2625
</ul>
2726
</li>
28-
2927
</ul>
3028

3129
<p>The repeating portion of a decimal expansion is conventionally denoted within a pair of round brackets. For example:</p>

solution/0900-0999/0982.Triples with Bitwise AND Equal To Zero/README.md

+23
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,29 @@ func max(a, b int) int {
170170
}
171171
```
172172

173+
### **TypeScript**
174+
175+
```ts
176+
function countTriplets(nums: number[]): number {
177+
const mx = Math.max(...nums);
178+
const cnt: number[] = Array(mx + 1).fill(0);
179+
for (const x of nums) {
180+
for (const y of nums) {
181+
cnt[x & y]++;
182+
}
183+
}
184+
let ans = 0;
185+
for (let xy = 0; xy <= mx; ++xy) {
186+
for (const z of nums) {
187+
if ((xy & z) === 0) {
188+
ans += cnt[xy];
189+
}
190+
}
191+
}
192+
return ans;
193+
}
194+
```
195+
173196
### **...**
174197

175198
```

solution/0900-0999/0982.Triples with Bitwise AND Equal To Zero/README_EN.md

+23
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,29 @@ func max(a, b int) int {
151151
}
152152
```
153153

154+
### **TypeScript**
155+
156+
```ts
157+
function countTriplets(nums: number[]): number {
158+
const mx = Math.max(...nums);
159+
const cnt: number[] = Array(mx + 1).fill(0);
160+
for (const x of nums) {
161+
for (const y of nums) {
162+
cnt[x & y]++;
163+
}
164+
}
165+
let ans = 0;
166+
for (let xy = 0; xy <= mx; ++xy) {
167+
for (const z of nums) {
168+
if ((xy & z) === 0) {
169+
ans += cnt[xy];
170+
}
171+
}
172+
}
173+
return ans;
174+
}
175+
```
176+
154177
### **...**
155178

156179
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
function countTriplets(nums: number[]): number {
2+
const mx = Math.max(...nums);
3+
const cnt: number[] = Array(mx + 1).fill(0);
4+
for (const x of nums) {
5+
for (const y of nums) {
6+
cnt[x & y]++;
7+
}
8+
}
9+
let ans = 0;
10+
for (let xy = 0; xy <= mx; ++xy) {
11+
for (const z of nums) {
12+
if ((xy & z) === 0) {
13+
ans += cnt[xy];
14+
}
15+
}
16+
}
17+
return ans;
18+
}

0 commit comments

Comments
 (0)