Greedyアルゴリズム#2
15328 ワード
Sorting
JavaではArrayssort()関数を使用してarrayをソートできます.public class ArrayTest {
public static void main(String args[]){
Integer[] arrayTest = {2,3,2,4,56,7,43,21};
Arrays.sort(arrayTest, Collections.reverseOrder());
for(int i : arrayTest){
System.out.print(i + " ");
}
}
}
DESCソートしたいならパラメータ収集reverseOrder()を一緒に渡します.ArraysのパラメータはGeneric typeであり,intではなくIntegerとして宣言すべきである.
列
行->幅:縦長:行の長さ
列->デプス(Column->Depth):水平の長さ(Horizontal Length):列の長さ(Column Length)
2 D配列複写
ブログ参照
https://moon1226.tistory.com/31
Arrays.sort()の2番目のパラメータはComparatorを使用します.
だからComparatorを修理すればいいです.public class SortTest {
public static void main(String args[]) {
int data[][] = {{4,3},{4,1},{1,2}};
Arrays.sort(data, Comparator.comparingInt(num->num[0]));
for(int i[] : data){
for(int j : i){
System.out.print(j + " ");
}
System.out.println("");
}
}
}
Comparator.Intの比較(num->num[0])=配列の0番目の要素に基づいて2 D配列を並べ替え、1の場合は1番目の要素に基づいて並べ替える
寄付問題#2
2 D配列を指定します.2 D配列行の最小数の最大数の問題を出力
Idea
2차원 배열이 주어진다.
のアイデアの下で、2次元配列を宣言し、各行を並べ替えて最小値を抽出しようとした.そうしてもいいですが、複雑になります.解説にはもっと簡単な方法があります.
解説
public class GreedyCardGameOfNumberPage96 {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
// N, M을 공백을 기준으로 구분하여 입력 받기
int n = sc.nextInt();
int m = sc.nextInt();
int result = 0;
// 한 줄씩 입력 받아 확인하기
for (int i = 0; i < n; i++) {
// 현재 줄에서 '가장 작은 수' 찾기
int min_value = 10001;
for (int j = 0; j < m; j++) {
int x = sc.nextInt();
min_value = Math.min(min_value, x);
}
// '가장 작은 수'들 중에서 가장 큰 수 찾기
result = Math.max(result, min_value);
}
System.out.println(result); // 최종 답안 출력
}
}
最小値を見つけるだけなので、2 D配列を宣言する必要はありません.入力フェーズで見つけることもできます.Math関数を使用して最小値を探します.
寄付問題#3
numberとk入力を受け入れるには、2つの選択肢があります.numberをkで割って、kで割って続けます.そうしないと1を減らします.1までの実行回数は?public class GreedyUntilOnePage99 {
public static void main(String args[]) {
int number=17;
int count=0;
int K=4;
while(number !=1){
if(number%K==0){
number /= K;
}else{
number -= 1;
}
count++;
}
System.out.println(count);
}
}
どうやって分けますか.%演算子があると思います.while loopは少し混同しており、if{count+}else{count+}、sonarLintは重複(count)を排除することを推奨している.
Reference
この問題について(Greedyアルゴリズム#2), 我々は、より多くの情報をここで見つけました
https://velog.io/@camel-man-ims/Greedy-알고리즘-2
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
public class ArrayTest {
public static void main(String args[]){
Integer[] arrayTest = {2,3,2,4,56,7,43,21};
Arrays.sort(arrayTest, Collections.reverseOrder());
for(int i : arrayTest){
System.out.print(i + " ");
}
}
}
行->幅:縦長:行の長さ
列->デプス(Column->Depth):水平の長さ(Horizontal Length):列の長さ(Column Length)
2 D配列複写
ブログ参照
https://moon1226.tistory.com/31
Arrays.sort()の2番目のパラメータはComparatorを使用します.
だからComparatorを修理すればいいです.public class SortTest {
public static void main(String args[]) {
int data[][] = {{4,3},{4,1},{1,2}};
Arrays.sort(data, Comparator.comparingInt(num->num[0]));
for(int i[] : data){
for(int j : i){
System.out.print(j + " ");
}
System.out.println("");
}
}
}
Comparator.Intの比較(num->num[0])=配列の0番目の要素に基づいて2 D配列を並べ替え、1の場合は1番目の要素に基づいて並べ替える
寄付問題#2
2 D配列を指定します.2 D配列行の最小数の最大数の問題を出力
Idea
2차원 배열이 주어진다.
のアイデアの下で、2次元配列を宣言し、各行を並べ替えて最小値を抽出しようとした.そうしてもいいですが、複雑になります.解説にはもっと簡単な方法があります.
解説
public class GreedyCardGameOfNumberPage96 {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
// N, M을 공백을 기준으로 구분하여 입력 받기
int n = sc.nextInt();
int m = sc.nextInt();
int result = 0;
// 한 줄씩 입력 받아 확인하기
for (int i = 0; i < n; i++) {
// 현재 줄에서 '가장 작은 수' 찾기
int min_value = 10001;
for (int j = 0; j < m; j++) {
int x = sc.nextInt();
min_value = Math.min(min_value, x);
}
// '가장 작은 수'들 중에서 가장 큰 수 찾기
result = Math.max(result, min_value);
}
System.out.println(result); // 최종 답안 출력
}
}
最小値を見つけるだけなので、2 D配列を宣言する必要はありません.入力フェーズで見つけることもできます.Math関数を使用して最小値を探します.
寄付問題#3
numberとk入力を受け入れるには、2つの選択肢があります.numberをkで割って、kで割って続けます.そうしないと1を減らします.1までの実行回数は?public class GreedyUntilOnePage99 {
public static void main(String args[]) {
int number=17;
int count=0;
int K=4;
while(number !=1){
if(number%K==0){
number /= K;
}else{
number -= 1;
}
count++;
}
System.out.println(count);
}
}
どうやって分けますか.%演算子があると思います.while loopは少し混同しており、if{count+}else{count+}、sonarLintは重複(count)を排除することを推奨している.
Reference
この問題について(Greedyアルゴリズム#2), 我々は、より多くの情報をここで見つけました
https://velog.io/@camel-man-ims/Greedy-알고리즘-2
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
public class SortTest {
public static void main(String args[]) {
int data[][] = {{4,3},{4,1},{1,2}};
Arrays.sort(data, Comparator.comparingInt(num->num[0]));
for(int i[] : data){
for(int j : i){
System.out.print(j + " ");
}
System.out.println("");
}
}
}
2 D配列を指定します.2 D配列行の最小数の最大数の問題を出力
Idea
2차원 배열이 주어진다.
のアイデアの下で、2次元配列を宣言し、各行を並べ替えて最小値を抽出しようとした.そうしてもいいですが、複雑になります.解説にはもっと簡単な方法があります.解説
public class GreedyCardGameOfNumberPage96 {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
// N, M을 공백을 기준으로 구분하여 입력 받기
int n = sc.nextInt();
int m = sc.nextInt();
int result = 0;
// 한 줄씩 입력 받아 확인하기
for (int i = 0; i < n; i++) {
// 현재 줄에서 '가장 작은 수' 찾기
int min_value = 10001;
for (int j = 0; j < m; j++) {
int x = sc.nextInt();
min_value = Math.min(min_value, x);
}
// '가장 작은 수'들 중에서 가장 큰 수 찾기
result = Math.max(result, min_value);
}
System.out.println(result); // 최종 답안 출력
}
}
最小値を見つけるだけなので、2 D配列を宣言する必要はありません.入力フェーズで見つけることもできます.Math関数を使用して最小値を探します.寄付問題#3
numberとk入力を受け入れるには、2つの選択肢があります.numberをkで割って、kで割って続けます.そうしないと1を減らします.1までの実行回数は?public class GreedyUntilOnePage99 {
public static void main(String args[]) {
int number=17;
int count=0;
int K=4;
while(number !=1){
if(number%K==0){
number /= K;
}else{
number -= 1;
}
count++;
}
System.out.println(count);
}
}
どうやって分けますか.%演算子があると思います.while loopは少し混同しており、if{count+}else{count+}、sonarLintは重複(count)を排除することを推奨している.
Reference
この問題について(Greedyアルゴリズム#2), 我々は、より多くの情報をここで見つけました
https://velog.io/@camel-man-ims/Greedy-알고리즘-2
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
public class GreedyUntilOnePage99 {
public static void main(String args[]) {
int number=17;
int count=0;
int K=4;
while(number !=1){
if(number%K==0){
number /= K;
}else{
number -= 1;
}
count++;
}
System.out.println(count);
}
}
Reference
この問題について(Greedyアルゴリズム#2), 我々は、より多くの情報をここで見つけました https://velog.io/@camel-man-ims/Greedy-알고리즘-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol