Skip to content

Commit 6c7b925

Browse files
add 1273
1 parent 2cc8b64 commit 6c7b925

File tree

7 files changed

+80
-4
lines changed

7 files changed

+80
-4
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -574,4 +574,5 @@ LeetCode
574574
|1268|[Search Suggestions System](https://leetcode.com/problems/search-suggestions-system/)|c|[c++](./src/1268-Search-Suggestions-System/1268.cpp)|[python](./src/1268-Search-Suggestions-System/1268.py)|[go](./src/1268-Search-Suggestions-System/1268.go)|[js](./src/1268-Search-Suggestions-System/1268.js)|[java](./src/1268-Search-Suggestions-System/1268.java)|Medium|
575575
|1269|[Number of Ways to Stay in the Same Place After Some Steps](https://leetcode.com/problems/number-of-ways-to-stay-in-the-same-place-after-some-steps/)|c|[c++](./src/1269-Number-of-Ways-to-Stay-in-the-Same-Place-After-Some-Steps/1269.cpp)|[python](./src/1269-Number-of-Ways-to-Stay-in-the-Same-Place-After-Some-Steps/1269.py)|[go](./src/1269-Number-of-Ways-to-Stay-in-the-Same-Place-After-Some-Steps/1269.go)|[js](./src/1269-Number-of-Ways-to-Stay-in-the-Same-Place-After-Some-Steps/1269.js)|[java](./src/1269-Number-of-Ways-to-Stay-in-the-Same-Place-After-Some-Steps/1269.java)|Hard|
576576
|1271|[Hexspeak](https://leetcode.com/contest/biweekly-contest-14/problems/hexspeak/)|c|[c++](./src/1271-Hexspeak/1271.cpp)|[python](./src/1271-Hexspeak/1271.py)|[go](./src/1271-Hexspeak/1271.go)|[js](./src/1271-Hexspeak/1271.js)|[java](./src/1271-Hexspeak/1271.java)|Easy|
577-
|1272|[Remove Interval](https://leetcode.com/contest/biweekly-contest-14/problems/remove-interval/)|c|[c++](./src/1272-Remove-Interval/1272.cpp)|[python](./src/1272-Remove-Interval/1272.py)|[go](./src/1272-Remove-Interval/1272.go)|[js](./src/1272-Remove-Interval/1272.js)|[java](./src/1272-Remove-Interval/1272.java)|Medium|
577+
|1272|[Remove Interval](https://leetcode.com/contest/biweekly-contest-14/problems/remove-interval/)|c|[c++](./src/1272-Remove-Interval/1272.cpp)|[python](./src/1272-Remove-Interval/1272.py)|[go](./src/1272-Remove-Interval/1272.go)|[js](./src/1272-Remove-Interval/1272.js)|[java](./src/1272-Remove-Interval/1272.java)|Medium|
578+
|1273|[Delete Tree Nodes](https://leetcode.com/contest/biweekly-contest-14/problems/delete-tree-nodes/)|c|[c++](./src/1273-Delete-Tree-Nodes/1273.cpp)|[python](./src/1273-Delete-Tree-Nodes/1273.py)|[go](./src/1273-Delete-Tree-Nodes/1273.go)|[js](./src/1273-Delete-Tree-Nodes/1273.js)|[java](./src/1273-Delete-Tree-Nodes/1273.java)|Medium|

src/1273-Delete-Tree-Nodes/1273.cpp

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
class Solution
2+
{
3+
public:
4+
int deleteTreeNodes(int n, vector<int>& parent, vector<int>& value)
5+
{
6+
for (int i = n - 1; i > 0; i--) value[parent[i]] += value[i];
7+
int zeros = 0;
8+
bool isZero[n] = {};
9+
for (int i = 0; i < n; i++)
10+
{
11+
if (parent[i] > 0 && isZero[parent[i]] || value[i] == 0)
12+
{
13+
isZero[i] = true; zeros++;
14+
}
15+
}
16+
return n - zeros;
17+
}
18+
};

src/1273-Delete-Tree-Nodes/1273.go

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
func deleteTreeNodes(n int, parent []int, value []int) int {
2+
for i := n - 1; i > 0; i-- {
3+
value[parent[i]] += value[i]
4+
}
5+
6+
zeros := 0
7+
isZero := make([]bool, n)
8+
for i := 0; i < n; i++ {
9+
if parent[i] > 0 && isZero[parent[i]] || value[i] == 0 {
10+
isZero[i] = true
11+
zeros++
12+
}
13+
}
14+
return n - zeros
15+
}

src/1273-Delete-Tree-Nodes/1273.java

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
public int deleteTreeNodes(int n, int[] parent, int[] value) {
3+
for(int i = n - 1; i > 0; i--) {
4+
value[parent[i]] += value[i];
5+
}
6+
int zeros = 0;
7+
boolean[] isZero = new boolean[n];
8+
for(int i = 0; i < n; i++) {
9+
if(parent[i] > 0 && isZero[parent[i]] || value[i] == 0) {
10+
isZero[i] = true;
11+
zeros++;
12+
}
13+
}
14+
return n - zeros;
15+
}
16+
}

src/1273-Delete-Tree-Nodes/1273.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
var deleteTreeNodes = function(n, parent, value) {
2+
for (let i = n - 1; i > 0; i--) {
3+
value[parent[i]] += value[i];
4+
}
5+
6+
let zeros = 0, isZero = new Array(n);
7+
isZero.fill(0);
8+
for (let i = 0; i < n; i++) {
9+
if (parent[i] > 0 && isZero[parent[i]] || value[i] == 0) {
10+
isZero[i] = 1;
11+
zeros++;
12+
}
13+
}
14+
return n - zeros;
15+
};

src/1273-Delete-Tree-Nodes/1273.py

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution:
2+
def deleteTreeNodes(self, n: int, parent: List[int], value: List[int]) -> int:
3+
for i in range(n-1, 0, -1):
4+
value[parent[i]] += value[i]
5+
6+
zeros, isZero = 0, [0] * n
7+
for i in range(n):
8+
if parent[i] > 0 and isZero[parent[i]] or value[i] == 0:
9+
isZero[i] = 1
10+
zeros += 1
11+
return n - zeros

src/addProb.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
import os, bisect
33

44
# 题目名称
5-
name = "Remove Interval"
6-
ID = 1272
7-
url = "https://leetcode.com/contest/biweekly-contest-14/problems/remove-interval/"
5+
name = "Delete Tree Nodes"
6+
ID = 1273
7+
url = "https://leetcode.com/contest/biweekly-contest-14/problems/delete-tree-nodes/"
88
difficult = "Medium"
99
prog = ['c', 'cpp', 'py', 'go', 'js', 'java']
1010

0 commit comments

Comments
 (0)