Skip to content

Commit d38ec4d

Browse files
authored
Create squirrel-simulation.cpp
1 parent 3b64a8b commit d38ec4d

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

C++/squirrel-simulation.cpp

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Time: O(n)
2+
// Space: O(1)
3+
4+
class Solution {
5+
public:
6+
int minDistance(int height, int width, vector<int>& tree, vector<int>& squirrel, vector<vector<int>>& nuts) {
7+
int result = 0;
8+
int d = numeric_limits<int>::max();
9+
for (const auto& nut : nuts) {
10+
result += (distance(nut, tree) * 2);
11+
d = min(d, distance(nut, squirrel) - distance(nut, tree));
12+
}
13+
return result + d;
14+
}
15+
16+
private:
17+
int distance(const vector<int>& a, const vector<int>& b) {
18+
return abs(a[0] - b[0]) + abs(a[1] - b[1]);
19+
}
20+
};

0 commit comments

Comments
 (0)