• 扑克牌顺子问题


    问题描述:从扑克牌中随机抽出5张牌,判断是不是一个顺子,这五张牌是不是连续

    思路:
      1.把13个重复四次的1-13的数字放进一个数组。
      2.建立一个新数组
      3.得到0-53的随机数,作为数组的下标,循环5次,通过下标,从旧数组中随机抽出5个新数字,放进新数组中 :新数组:[4, 1, 5, 2, 6]
      4.新数组按从小到大顺序排列,方便判定大小
      5.从新数组的第一个数开始,后一个数是前一个数-1,实现顺子,输出[7, 8, 9, 10, 11] "这五张牌是顺子"
    代码如下:
      var arr = [1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13]; //52张,去除大王和小王
      var newArr = [ ]; 
        //1.随机抽5张
      for(var j = 0;j<5;j ++){
        var a = Math.round(Math.random()*(arr.length-1));   // a是0-53的随机数
        newArr.push(arr[a]) 
      }
      newArr.sort(function(a,b){return a - b;});  //新数组按从小到大顺序排列,方便判定大小

        //2.若出现顺子,打印"这五张是顺子"
      if(newArr[0] == newArr[1]-1 && newArr[1] == newArr[2]-1 && newArr[2] == newArr[3]-1 && newArr[3] == newArr[4]-1){     //从第一个数开始,后一天是前一个值-1
        console.log(newArr,"这五张牌是顺子")  
      }

    总感觉我的思路有点复杂,希望有想法的朋友能提出

  • 相关阅读:
    测试工具PerfDog的使用
    1.人工智能解读与Python简介
    如何提高百度网盘下载速度小技巧(亲测有效!)
    学习方法
    字符串换行工具类/每隔几位插入指定字符串
    java对pdf文件加文字水印 itextpdf
    centos 7.6 安装jdk8
    1 elk软件的安装
    Springboot 2.2.1 与activeMq 集成2 topic 发布者,订阅者
    Springboot 2.2.1 与activeMq 集成2 queue 消息
  • 原文地址:https://www.cnblogs.com/keyanjyl/p/7525083.html
Copyright © 2020-2023  润新知