數字和計算:
傳統辦法:
int sums(int x)
return s;
}
改進:
(x + 1) % 10 != 0 ? s_x + 1 : s_x - 8;
機械人可 僅通過向右和向下移動,訪問所有可達解 。方法一:廣度優先遍歷
class solution ); //i=0,j=0,sum_i=0,sum_j=0
while(!queue.isempty()) ); //下面的點加入佇列
queue.add(new int); //右邊的點加入佇列}}
return res;}}
方法二:深度優先遍歷
class solution
public int dfs(int i, int j, int sum_i, int sum_j)
}
回溯返回值為1+右邊可達數目+左邊可達數目。深度優先遍歷傳統版:
熟悉了遞迴之後,直接就寫出了下面這版:
class
solution
public
void
dfs(
int i,
int j,
int si,
int sj,
int k)
}
發現跟之前寫的都不一樣,說明有自己的理解,成長了! 劍指offer13機械人的運動範圍
地上有乙個m行n列的方格,從座標 0,0 到座標 m 1,n 1 乙個機械人從座標 0,0 的格仔開始移動,它每次可以向左 右 上 下移動一格 不能移動到方格外 也不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但它不能進入...
劍指 Offer 13 機械人的運動範圍
題目描述 地上有乙個m行n列的方格,從座標 0,0 到座標 m 1,n 1 乙個機械人從座標 0,0 的格仔開始移動,它每次可以向左 右 上 下移動一格 不能移動到方格外 也不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但...
劍指 Offer 13 機械人的運動範圍
地上有乙個m行n列的方格,從座標 0,0 到座標 m 1,n 1 乙個機械人從座標 0,0 的格仔開始移動,它每次可以向左 右 上 下移動一格 不能移動到方格外 也不能進入行座標和列座標的數字之和大於k的格仔。例如,當k為18時,機械人能夠進入方格 35,37 因為3 5 3 7 18。但它不能進入...