LeetCode 657 判斷路線成圈

2021-08-20 19:04:25 字數 1075 閱讀 7088

初始位置 (0, 0) 處有乙個機械人。給出它的一系列動作,判斷這個機械人的移動路線是否形成乙個圓圈,換言之就是判斷它是否會移回到原來的位置。

移動順序由乙個字串表示。每乙個動作都是由乙個字元來表示的。機械人有效的動作有r(右),l(左),u(上)和d(下)。輸出應為 true 或 false,表示機械人移動路線是否成圈。

示例 1:

輸入: "ud"

輸出: true

示例 2:

輸入: "ll"

輸出: false

第一種方法,計數法,分別給ud和rl計數,計數器分別為x,y,遇到u或r,x++或y++;遇到r或l,x--或y--;如果最後x和y為0,則返回true,否則返回false;

public static boolean judgecircle(string moves) 

return x==0&&y==0;

}

第二種方法,用hashmap計數,然後再分別判斷r和l或u和d數量是否相等(沒通過,可能是時間複雜度太大)

public static boolean judgecircle(string moves) else

map.put(a[i], 1);

}boolean flag1=false,flag2=false;

if(map.containskey('r')&&map.containskey('l'))

if(map.containskey('u')&&map.containskey('d'))

if(!map.containskey('r')&&!map.containskey('l')) flag1=true;

if(!map.containskey('u')&&!map.containskey('d')) flag2=true;

if(flag1&&flag2)

return true;

return false;

}

leetcode 657 判斷路線成圈

初始位置 0,0 處有乙個機械人。給出它的一系列動作,判斷這個機械人的移動路線是否形成乙個圓圈,換言之就是判斷它是否會移回到原來的位置。移動順序由乙個字串表示。每乙個動作都是由乙個字元來表示的。機械人有效的動作有r 右 l 左 u 上 和d 下 輸出應為 true 或 false,表示機械人移動路線...

leetcode 657 機械人能否返回原點

657.機械人能否返回原點 在二維平面上,有乙個機械人從原點 0,0 開始。給出它的移動順序,判斷這個機械人在完成移動後是否在 0,0 處結束。移動順序由字串表示。字元 move i 表示其第 i 次移動。機械人的有效動作有r 右 l 左 u 上 和d 下 如果機械人在完成所有動作後返回原點,則返回...

LeetCode 657 機械人能否返回原點

題目描述 在二維平面上,有乙個機械人從原點 0,0 開始。給出它的移動順序,判斷這個機械人在完成移動後是否在 0,0 處結束。移動順序由字串表示。字元 move i 表示其第 i 次移動。機械人的有效動作有 r 右 l 左 u 上 和 d 下 如果機械人在完成所有動作後返回原點,則返回 true。否...