剑指offer第45题:扑克牌顺子

2023-10-27

剑指offer第45题:扑克牌顺子

题目描述

扑克牌顺子

LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张牌就可以变成“1,2,3,4,5”(大小王分别看作2和4),“So Lucky!”。LL决定去买体育彩票啦。 现在,要求你使用这幅牌模拟上面的过程,然后告诉我们LL的运气如何, 如果牌能组成顺子就输出true,否则就输出false。为了方便起见,你可以认为大小王是0。

源码

class Solution {
public:
    int max(vector<int> data)
    {
        int nmax;
        for(int i=0;i<data.size();i++)
        {
            if(i== 0) nmax = data[i];
            if(nmax < data[i]) nmax = data[i];
        }
        return nmax;
    }
    int min(vector<int> data)
    {
        int nmin;
        for(int i=0;i<data.size();i++)
        {
            if(i== 0) nmin = data[i];
            if(nmin > data[i]) nmin = data[i];
        }
        return nmin;
    }
    vector<int> zeroout(vector<int> data)
    {
        vector<int> res;
        for(int i=0;i<data.size();i++)
        {
            if(data[i]!= 0) res.push_back(data[i]);
        }
        return res;
    }
    bool IfPair(vector<int> data)
    {
        sort(data.begin(),data.end());
        for(int i = 0 ;i<data.size()-1;i++)
        {
           if(data[i] == data[i+1]) return true;
        }
        return false;
    }
    bool IsContinuous( vector<int> numbers ) {
     if(numbers.size()!=5) return false;
     numbers = zeroout(numbers);
     int maxx = max(numbers);
     int minn = min(numbers);
     if((maxx-minn)<5 && !IfPair(numbers))
     {
         return true;
     }
     else
     {
         return  false;
     }
    }

};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

剑指offer第45题:扑克牌顺子 的相关文章

  • 剑指Offer(一):二维数组中查找最大值

    题目 这个题目说的是 给你一个二维数组 matrix 和一个目标值 target 你要在数组里找到这个目标值 然后返回它的行 列下标 如果找不到 则返回 1 1 这个数组的每一行都是从左向右递增 每一列都是从上到下递增 和 二维数组的二分搜
  • Acwing-对称的二叉树

    除了根节点都有一个性质 自己对应的节点是相同的 并且左右儿子 左右和右左分别对称 即根节点的左右两棵子树 每一棵都是左右对称的 Definition for a binary tree node struct TreeNode int va
  • 剑指Offer:(数组)数组中出现次数超过一半的数字

    数组中出现次数超过一半的数字 一 题目 数组中有一个数字出现的次数超过数组长度的一半 请找出这个数字 例如输入一个长度为9的数组 1 2 3 2 2 2 5 4 2 由于数字2在数组中出现了5次 超过数组长度的一半 因此输出2 如果不存在则
  • LeetCode第3题解析

    给定一个字符串 请你找出其中不含有重复字符的 最长子串 的长度 示例 1 输入 abcabcbb 输出 3 解释 因为无重复字符的最长子串是 abc 所以其长度为 3 示例 2 输入 bbbbb 输出 1 解释 因为无重复字符的最长子串是
  • 剑指 Offer 11. 旋转数组的最小数字(java+python)

    把一个数组最开始的若干个元素搬到数组的末尾 我们称之为数组的旋转 给你一个可能存在 重复 元素值的数组 numbers 它原来是一个升序排列的数组 并按上述情形进行了一次旋转 请返回旋转数组的最小元素 例如 数组 3 4 5 1 2 为 1
  • 剑指 Offer 48. 最长不含重复字符的子字符串(java+python)

    请从字符串中找出一个最长的不包含重复字符的子字符串 计算该最长子字符串的长度 示例 1 输入 abcabcbb 输出 3 解释 因为无重复字符的最长子串是 abc 所以其长度为 3 示例 2 输入 bbbbb 输出 1 解释 因为无重复字符
  • 剑指offer_第20题_包含min函数的栈_Python

    题目描述 定义栈的数据结构 并在该类型中实现一个能够得到栈中所含最小元素的min函数 时间复杂度应为O 1 理解 什么是栈 算法复杂度 解题思路 思路1 class Solution def init self self stack sel
  • 剑指 Offer 66. 构建乘积数组(java+python)

    给定一个数组 A 0 1 n 1 请构建一个数组 B 0 1 n 1 其中 B i 的值是数组 A 中除了下标 i 以外的元素的积 即 B i A 0 A 1 A i 1 A i 1 A n 1 不能使用除法 示例 输入 1 2 3 4 5
  • 剑指 Offer 63. 股票的最大利润(java+python)

    假设把某股票的价格按照时间先后顺序存储在数组中 请问买卖该股票一次可能获得的最大利润是多少 示例 1 输入 7 1 5 3 6 4 输出 5 解释 在第 2 天 股票价格 1 的时候买入 在第 5 天 股票价格 6 的时候卖出 最大利润 6
  • 剑指Offer系列(java版,详细解析)16.数值的整数次方

    题目描述 剑指 Offer 16 数值的整数次方 难度中等129 实现 pow x n 即计算 x 的 n 次幂函数 即 xn 不得使用库函数 同时不需要考虑大数问题 示例 1 输入 x 2 00000 n 10 输出 1024 00000
  • 剑指 Offer 57. 和为s的两个数字(java+python)

    输入一个递增排序的数组和一个数字s 在数组中查找两个数 使得它们的和正好是s 如果有多对数字的和等于s 则输出任意一对即可 示例 1 输入 nums 2 7 11 15 target 9 输出 2 7 或者 7 2 示例 2 输入 nums
  • LeetCode-替换空格

    创建一个新的string 一边遍历原字符串的每一个字符 一边往新的字符串中写入 遇到空格替换为 20即可 class Solution public string replaceSpaces string str string res fo
  • 剑指Offer-链表-面试题62:圆圈中最后剩下的数字

    面试题62 圆圈中最后剩下的数字 题目描述 每年六一儿童节 牛客都会准备一些小礼物去看望孤儿院的小朋友 今年亦是如此 HF作为牛客的资深元老 自然也准备了一些小游戏 其中 有个游戏是这样的 首先 让小朋友们围成一个大圈 然后 他随机指定一个
  • 输入一个整数n,请你输出斐波那契数列的第n项

    题目 大家都知道斐波那契数列 现在要求输入一个整数n 请你输出斐波那契数列的第n项 从0开始 第0项为0 n lt 39 分析 方法 1 可以用数组将每个斐波那契数列值存起来 int Fibonacci int n int a 40 0 a
  • java 对称的二叉树

    1 对称的二叉树 1 题目描述 请实现一个函数 用来判断一颗二叉树是不是对称的 注意 如果一个二叉树同此二叉树的镜像是同样的 定义其为对称的 2 解题思路 可以按照类似层次遍历 来判断是否是堆成二叉树 首先根节点以及其左右子树 左子树的左子
  • 剑指 Offer 14- I—剪绳子

    题目描述 给你一根长度为 n 的绳子 请把绳子剪成整数长度的 m 段 m n都是整数 n gt 1并且m gt 1 每段绳子的长度记为 k 0 k 1 k m 1 请问 k 0 k 1 k m 1 可能的最大乘积是多少 例如 当绳子的长度是
  • 必刷算法题之字符串(题目及代码)---C++

    文章目录 第1题 执行操作后的变量值 第2题 罗马数字转整数 第3题 句子中的最多单词数 第4题 左旋转字符串 第5题 宝石与石头 第6题 Excel 表中某个范围内的单元格 第7题 括号的最大嵌套深度 第8题 分割平衡字符串 第9题 最长
  • 剑指Offer 62 -- 圆圈中最后剩下的数字

    剑指Offer 62 圆圈中最后剩下的数字 题目 0 1 n 1这n个数字排成一个圆圈 从数字0开始 每次从这个圆圈里删除第m个数字 删除后从下一个数字开始计数 求出这个圆圈里剩下的最后一个数字 例如 0 1 2 3 4这5个数字组成一个圆
  • 堆栈01--用两个栈实现队列

    堆栈01 用两个栈实现队列 jz05 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 用两个栈来实现一个队列 完成队列的Push和Pop操作 队列中的元素为int类型 测试用例 队列先进先出 输入 1 2 输出 1 2 解析
  • 剑指 Offer(第2版)面试题 34:二叉树中和为某一值的路径

    剑指 Offer 第2版 面试题 34 二叉树中和为某一值的路径 剑指 Offer 第2版 面试题 34 二叉树中和为某一值的路径 解法1 深度优先搜索 剑指 Offer 第2版 面试题 34 二叉树中和为某一值的路径 题目来源 47 二叉

随机推荐

  • VS2022解决Protobuf compiler version 23.4 doesn‘t match library version 4.23.4

    在使用Visual Studio 2022 MinGW CMake作为开发环境时 如果项目中使用了Protobuf 则在CMake运行时 可能会出现Protobuf compiler version 23 4 doesn t match l
  • 黑苹果系统完全移植新硬盘

    1 新硬盘格式化 1 1将新硬盘连接电脑 打开黑苹果系统下的磁盘工具 1 2选择新硬盘 点击抹掉 名称自己起 mac OS 文件格式 APFS 1 3点击确认 2 安装Carbon Copy Cloner软件 2 1 软件链接链接 http
  • Java实现简单的图形绘制程序(多种图形,多种颜色)

    今天我用GUI图形绘制组件 做了一个图形绘制工具 实现了连续划线 划线效果 图形方面支持直线 圆 椭圆 正方形 长方形的绘制 颜色选择方面支持红色 橙色 黄色 绿色 白色 蓝色 粉色 效果预览 文件树 文件准备 这几张图片被存放在了src
  • POISX线程信号量的实现原理

    sem结构体 struct semaphore raw spinlock t lock unsigned int count struct list head wait list struct semaphore waiter struct
  • 导出pdf,自动分页

    要将导出的 PDF 固定为 A4 纸大小并在超出 A4 长度时进行分页 你需要进行一些修改 以下是修改后的代码
  • perl:verilog dummy module

    https code csdn net snippets 1903886 git 样板工程 usr bin perl description not support parameter WIDTH 1 not support bigendi
  • pytorch/torch安装简明教程

    LINUX上安装 0 进入官网https pytorch org 按照你的系统以及配置 获取安装命令 1 安装gpu版本的torch cuda包 用于torch调用gpu加速库 pip install torch 1 5 0 cu101 t
  • redis运维之数据迁移

    1 导出redis的aof和rdb文件 在Redis中 可以使用BGSAVE命令导出AOF日志 而使用SAVE命令导出RDB文件 2 AOF和RDB日志的导出位置 打开redis conf文件 找到如下配置 dir path to your
  • promise中的回调函数、async和await的执行顺序

    一 几个关键问题 1 宏队列 用来保存待执行的宏任务 回调 比如 定时器回调 DOM事件回调 ajax回调 2 微队列 用来保存待执行的微任务 回调 比如 promise的回调 MutationObserver的回调 3 JS执行时 必须先
  • USB物理层

    USB总线接口具有向外提供电源的能力 并且是5V的电压 非常的适合TTL信号系统 使用这个电源可以再一定程度上为设备供电 减少了USB电源设计 简化了USB系统结构 USB 电缆有四根导线 电源线 红色Vbus 地线 黑色GND D 绿色
  • tkFileDialog.py

    def askopenfilename options Ask for a filename to open return Open options show def asksaveasfilename options Ask for a
  • Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: The last packet successfully.....

    最近将之前的项目部署到了服务器之后 发现在长时间不访问网站后 再次打开页面会出现白屏现象 除非重新刷新页面 否则无法正常加载数据 使用F12查看请求返回的JSON数据发现提示内部错误 由此可知问题在服务端 服务器相关信息 OS CentOS
  • Spring cloud Alibaba 之 分布式链路追踪 sleuth

    什么是链路追踪 微服务之间相互调用 每一个请求过来可能调用多个服务 比如 一个请求调用A 服务 A 又依赖B 服务 B又依赖C 服务 这样形成一个调用链 当我们查询日志的时候都需要知道一个请求的完整路径 这个时候链路追踪就产生作用 A 调用
  • 学python心得体会800字-浅谈我对python的学习感受

    python是一门非常有潜力的高级语言 历经多年的发展 其在编程上发挥着越来越大的作用 在这学期中 通过选修python课上的基础知识学习 我对python也有了一定的认识 而且 在字符串上的处理 python相对于c语言也是给程序员极大的
  • k8s 部署 jenkins

    一 前提条件 1 安装helm 二 安装harbor 1 添加harbor helm仓库 helm repo add jenkins https charts jenkins io 2 更新仓库 helm repo update
  • 什么是UE像素流送,像素流推流是什么原理?

    游戏开发者通常在运行游戏逻辑时会将游戏渲染到屏幕的同一台设备上来运行虚幻引擎应用 多人联网游戏可能会在应用程序的多个实例之间分发部分游戏逻辑 但每个单独的实例仍然会为自己的玩家在本地渲染游戏 即使是使用 HTML5 部署选项创建可以在 We
  • 【C/C++】读取字符串的多种方式(带空格)

    获取字符 字符串对象 字符串行的多种方式 Created By Liu Xianmeng On 2022 12 10 include
  • Linux逻辑卷管理(LVM)

    一 逻辑卷 LV 卷组 VG 物理卷 PV 关系 逻辑卷 LV 是卷组 VG 的一部分 可以在卷组大小内动态增加 每个卷组可分为多个逻辑卷 卷组由多个物理卷 PV 组成 每个物理卷是一个块设备 磁盘分区等 二 LVM存储 1 准备物理设备
  • VSCode自动格式化Vue代码

    VSCode自动格式化Vue代码 Prettier Code formatter 配置代码格式化文件 配置setting json VsCode关于Vue的格式化插件非常多 网上的资料也五花八门 可以使用的非常少 经过多次探索 终于找到一个
  • 剑指offer第45题:扑克牌顺子

    剑指offer第45题 扑克牌顺子 题目描述 扑克牌顺子 源码 题目描述 扑克牌顺子 LL今天心情特别好 因为他去买了一副扑克牌 发现里面居然有2个大王 2个小王 一副牌原本是54张 他随机从中抽出了5张牌 想测测自己的手气 看看能不能抽到