当前位置: 首页 > news >正文

杨辉三角,洗牌算法

杨辉三角

给定一个非负整数numRows,生成杨辉三角的前numRows行。

在杨辉三角中,每个数是它的左上方和右上方的数的和。

public List<List<Integer>> generate(int numRows){List<List<Integer>> ret = new ArrayList<>();List<Integer> row = new ArrayList<>();row.add(1);ret.add(row);for (int i = 0; i < numRows; i++) {List<Integer> curRow = new ArrayList<>();curRow.add(1);List<Integer> prevRow = ret.get(i-1);for (int j = 0; j < i; j++) {int x = prevRow.get(j)+prevRow.get(j-1);curRow.add(x);}curRow.add(1);ret.add(curRow);}return ret;
} 

洗牌算法

import java.util.ArrayList;
import java.util.List;
import java.util.Random;public class CardList {private static final String[] SUITS = {"♦","❤","♠","♣"};public static List<Card> buyCards(){List<Card> list = new ArrayList<>();for (int i = 0; i < SUITS.length; i++) {for (int j = 0; j <= 13; j++) {Card card = new Card(SUITS[i],j);list.add(card);}}return list;}public static void shuffle(List<Card> list){Random random = new Random();for (int i = list.size()-1; i > 0; i++) {int index = random.nextInt(i);swap(list,i,index);}}private static void swap(List<Card> list,int i,int j){Card tmp = list.get(i);list.set(i,list.get(i));list.set(j,tmp);}public static void main(String[] args) {List<Card> list = buyCards();System.out.println(list);shuffle(list);System.out.println(list);List<List<Card>> hand = new ArrayList<>();List<Card> hand1 = new ArrayList<>();List<Card> hand2 = new ArrayList<>();List<Card> hand3 = new ArrayList<>();hand.add(hand1);hand.add(hand2);hand.add(hand3);for (int i = 0; i < 5; i++) {for (int j = 0; j < 3; j++) {Card card = list.remove(0);hand.get(j).add(card);}}}
}
public class Card {private String suit;private int rank;public Card(String suit, int rank) {this.suit = suit;this.rank = rank;}@Overridepublic String toString() {return "Card{" +"suit='" + suit + '\'' +", rank=" + rank +'}';}public String getSuit() {return suit;}public void setSuit(String suit) {this.suit = suit;}public int getRank() {return rank;}public void setRank(int rank) {this.rank = rank;}
}

http://www.mrgr.cn/news/68048.html

相关文章:

  • 在IDEA中使用Git
  • 240. 搜索二维矩阵 II
  • Spring Boot观察者模式实战
  • 美容院客户管理系统有什么功能和作用?美业多门店管理系统收银系统Java源码
  • 算法每日双题精讲——双指针(移动零,复写零)
  • 背包九讲——背包问题求具体方案
  • 探索C语言数据类型
  • 前端基础-html-注册界面
  • [Docker#1] 专栏前言 | 亿级高并发架构演进之路
  • 【大数据学习 | kafka高级部分】kafka的数据同步和数据均衡
  • 经典网络模型
  • brainpy 动力学编程基础
  • 最新kubernetes搭建(k8s)(已成功搭建)
  • 【科普】卷积、卷积核、池化、激活函数、全连接分别是什么?有什么用?
  • 【软考】错题总结:1106
  • [CUDA] 判断一个指针是GPU还是CPU
  • 远程控制项目第四天 功能实现
  • Claude Prompt:博弈天平|缘起自李继刚老师的提示词
  • 使用PyQt5设计一个简易计算器
  • 【测试】【Debug】pytest运行后print没有输出
  • CPU Study-Multi-Port Cache
  • golang函数
  • 使用开源Embedding模型嵌入高维空间向量
  • Linux命令--paste
  • 【大模型系列】Grounded-VideoLLM(2024.10)
  • Java学习篇之JVM 调优