作者DJYOMIYAHINA (通通打死)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Wed Sep 4 21:12:00 2024
把兩個unordermap of unorderset
換成一個unorderset
應該可以比較快吧:(
寫這個才發現
我連旋轉矩陣跟三角函數
都快忘記怎麼算了
想自
int robotSim(vector<int>& commands, vector<vector<int>>& obstacles) {
unordered_map<int,unordered_set<int>> x_obs;
unordered_map<int,unordered_set<int>> y_obs;
for(auto v : obstacles) {
x_obs[v[0]].insert(v[1]);
y_obs[v[1]].insert(v[0]);
}
int cur_dir_x = 0;
int cur_dir_y = 1;
int cur_x = 0;
int cur_y = 0;
int ans = 0;
for(auto c : commands) {
if(c == -2) {
int tmp = cur_dir_x;
cur_dir_x = -cur_dir_y;
cur_dir_y = tmp;
}
else if(c == -1) {
int tmp = cur_dir_x;
cur_dir_x = cur_dir_y;
cur_dir_y = -tmp;
}
else {
for (int i=0; i<c; i++) {
cur_x += cur_dir_x;
cur_y += cur_dir_y;
if(x_obs[cur_x].find(cur_y)!=x_obs[cur_x].end() ||
y_obs[cur_y].find(cur_x)!=y_obs[cur_y].end()) {
cur_x -= cur_dir_x;
cur_y -= cur_dir_y;
break;
}
}
ans = max(ans, cur_x*cur_x+cur_y*cur_y);
}
}
return ans;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.229.37.69 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1725455522.A.D97.html
※ 編輯: DJYOMIYAHINA (125.229.37.69 臺灣), 09/04/2024 21:13:35
推 oin1104: 大師 09/04 21:24
→ RinNoKareshi: 別卷了 09/04 21:32
推 sustainer123: 這題要三角函數? 09/04 21:48