提交 0a2beb3a 编写于 作者: 依然范特西S's avatar 依然范特西S

demo03:杨辉三角

demo04:杨辉三角返回行数值
上级 9cdb966d
###java入门编程题--适合小白
- demo01:掷骰子合理性判断
- demo02:等差数列求和
\ No newline at end of file
- demo02:等差数列求和
- demo03:杨辉三角
- demo04:杨辉三角-返回行数
\ No newline at end of file
......@@ -25,6 +25,8 @@ public class demo01 {
possibility(num);
scan.close();
}
public static void possibility(int n){
int sum2 = 0; //两个骰子合为2
......
package dome;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author liuyang01
* @date 2022-09-27
* 类描述:
* 修改记录:
*/
//给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。
public class demo03 {
public static void main(String[] args) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
System.out.println("输入杨辉三角行数:");
Scanner scan = new Scanner(System.in);
Integer num = scan.nextInt();
result = generate(num);
for(int i=0;i<result.size();i++){
for(int j=0;j<result.get(i).size();j++){
System.out.print(result.get(i).get(j)+" ");
}
System.out.println();
}
}
public static List<List<Integer>> generate(int numRows) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
List<Integer> list1=new ArrayList<>();
list1.add(1);
result.add(list1);
for (int i = 1; i < numRows; i++) {
List<Integer> list2=new ArrayList<>();
list2.add(1);
List<Integer> list3= result.get(i-1);
for(int j=1;j<i;j++){
int num= list3.get(j)+list3.get(j-1);
list2.add(num);
}
list2.add(1);
result.add(list2);
}
return result;
}
}
package dome;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author liuyang01
* @date 2022-09-27
* 类描述:
* 修改记录:
*/
//给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。
public class demo04 {
public static void main(String[] args) {
List<Integer> result = new ArrayList<>();
System.out.println("输入杨辉三角返回行数:");
Scanner scan = new Scanner(System.in);
Integer num = scan.nextInt();
result = getRow(num);
for(int i=0;i<result.size();i++){
System.out.print(result.get(i)+" ");
}
}
public static List<Integer> getRow(int rowIndex) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
List<Integer> list1=new ArrayList<>();
list1.add(1);
result.add(list1);
for (int i = 1; i < rowIndex + 1; i++) {
List<Integer> list2=new ArrayList<>();
list2.add(1);
List<Integer> list3= result.get(i-1);
for(int j=1;j<i;j++){
int num= list3.get(j)+list3.get(j-1);
list2.add(num);
}
list2.add(1);
result.add(list2);
}
return result.get(rowIndex);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册