leetcode 365. Water and Jug Problem解題レポート
2921 ワード
タイトルリンク
この問題は実は1つの数学の問題で、最大公約数の倍数を求めます.ピットは0,0,0というテストケースです.他には何も言えない直接コードをつけます.
問題を解く構想.
この問題は実は1つの数学の問題で、最大公約数の倍数を求めます.ピットは0,0,0というテストケースです.他には何も言えない直接コードをつけます.
解題コード
public class Solution {
public boolean canMeasureWater(int x, int y, int z) {
int min=0,max=0;
if(x==0 || y==0){
if(z==y || z==x){
return true;
}else{
return false;
}
}
if(x>y){
max=x;min=y;
}else{
max=y;min=x;
}
int t = find(min,max);
if(z%t==0 && z<=(x+y)){
return true;
}else{
return false;
}
}
public static int find(int min,int max){
if(max%min == 0){
return min;
}
int i = min-1;
while(i>1){
if(max%i==0 && min%i==0){
return i;
}
i--;
}
return 1;
}
}