强化训练:day9(添加逗号、跳台阶、扑克牌顺子)

文章目录

  • 前言
  • 1. 添加逗号
    • 1.1 题目描述
    • 2.2 解题思路
    • 2.3 代码实现
  • 2. 跳台阶
    • 2.1 题目描述
    • 2.2 解题思路
    • 2.3 代码实现
  • 3. 扑克牌顺子
    • 3.1 题目描述
    • 3.2 解题思路
    • 3.3 代码实现
  • 总结

前言

  1. 添加逗号
  2. 跳台阶
  3. 扑克牌顺子

1. 添加逗号

1.1 题目描述

在这里插入图片描述

2.2 解题思路

  我的写法是先进行逆置,然后再创建一个字符串,然后一个一个添加上去,每添加三个字符,就加上一个逗号,结束之后再进行逆置就可以了。(当然也可以直接逆序遍历,这样就不需要逆置了)

2.3 代码实现

#include <iostream>
using namespace std;
#include <string>
#include <algorithm>
int main() 
{
    string ret, num;
    cin >> num;
    reverse(num.begin(), num.end());
    int n = num.size();
    int k = 0;
    while (k < n) 
    {
        if (k != 0 && k % 3 == 0)
            ret += ",";
        ret += num[k++];
    }
    reverse(ret.begin(), ret.end());
    cout << ret;
    return 0;
}

2. 跳台阶

2.1 题目描述

在这里插入图片描述

2.2 解题思路

  还是一道简单的dp问题,大概思路与之前写的最小花费爬楼梯相差无几。
  状态表示:dp[i] -> 到达 i 位置一共有多少跳法。每一个位置的跳法都来源于它前两个台阶,所以状态转移方程就是:dp[i] = dp[i-1] + dp[i-2]。
  还可以进行优化,那就是只用两个变量来保存一个台阶前两个台阶的各自的跳法,就像滚动数组一样,不断向前就可以了。如果不理解就写成上面的状态转移方程就行了。

2.3 代码实现

#include <iostream>
using namespace std;
int main() {
    int n = 0;
    cin >> n;
    int dp1 = 1, dp2 = 2;
    int ret = 0;
    if (n == 1) ret = 1;
    else if (n == 2) ret = 2;
    else 
    {
        for (int i = 3; i <= n; i++) 
        {
            ret = dp1 + dp2;
            dp1 = dp2;
            dp2 = ret;
        }
    }
    cout << ret;
    return 0;
}

3. 扑克牌顺子

3.1 题目描述

在这里插入图片描述

3.2 解题思路

  一开始我想了很多,写了半天写不出来,最后一看题解……
  其实这道题很简单,我们只要发现其中的规则,一下就出来了,那就是:最大的牌数和最小的牌数只差应该是等于4的(1,2,3,4,5),但是还有可能出现0的情况(3,4,5,0,0),因此所得的五张牌的最大与最小只差应该是小于等于4 但是其中不能有重复的牌(0可以重复噢),所以还需要判断(哈希)。
  我们只需要遍历一遍数组,找出最大与最小,看看它们的差值是否小于等于4就可以了,同时如果出现重复数字之间返回false即可。

3.3 代码实现

class Solution {
public:
    bool hash[14];
    bool IsContinuous(vector<int>& nums) 
    {
        memset(hash, 0, sizeof hash);
        int maxVal = 0, minVal = 14;
        for(auto x : nums)
        {
            if(x)
            {
                if(hash[x]) return false;
                else
                {
                    hash[x] = true;
                    maxVal = max(maxVal, x);                
                    minVal = min(minVal, x);                
                }
            }
        }
        return maxVal - minVal <= 4;
    }
};

总结

  今天的整体难度都比较简单,没什么可说的,大家多多练习吧。
  那么第九天的内容就到此结束了,如果大家发现有什么错误的地方,可以私信或者评论区指出喔。我会继续坚持训练的,希望能与大家共同进步!!!那么本期就到此结束,让我们下期再见!!觉得不错可以点个赞以示鼓励!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/625577.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ros键盘控制程序teleop_twist_keyboard 键值含义及用法

在机器人仿真中&#xff0c; 经常会用到键盘控制程序teleop_twist_keyboard 对机器人进行控制。但是对各个键值是何种含义&#xff0c; 如何操作并没有任何资料介绍,初次使用时会不知所措。 通过实践&#xff0c; 发现各个键值的作用如下&#xff1a; u-- 向左前方前进 i-- 直…

java-spring 09 下.populateBean (方法成员变量的注入@Autowird,@Resource)

1.在populateBean 方法中的一部分&#xff1a;用于Autowird&#xff0c;Resource注入 // 后处理器已经初始化boolean hasInstAwareBpps hasInstantiationAwareBeanPostProcessors();// 需要依赖检查boolean needsDepCheck (mbd.getDependencyCheck() ! AbstractBeanDefinitio…

现在闪侠惠递寄快递有福利了,千万不要因没把握住而后悔呀!

闪侠惠递平台寄快递现在真的是太便宜了&#xff0c;优惠价格把握不住&#xff0c;后悔都来不及&#xff01;大家可以在闪侠惠递上面寄快递&#xff0c;价格真的非常优惠呢&#xff0c;比咱们平常寄快递的价格都优惠呢&#xff0c;真的&#xff0c;小编都亲自替大家尝试过了呢。…

联软安渡 UniNXG 安全数据交换系统 任意文件读取漏洞复现

0x01 产品简介 联软安渡UniNXG安全数据交换系统,是联软科技自研的业内融合网闸、网盘和DLP的一体机产品,它同时支持多网交换,查杀毒、审计审批、敏感内容识别等功能,是解决用户网络隔离、网间及网内数据传输、交换、共享/分享、存储的理想安全设备,具有开创性意义。 UniN…

千层烤馍,五彩斑斓的甘肃特色美食

甘肃玫瑰千层烤馍是一道具有浓郁地方特色的传统面点&#xff0c;以其独特的口感和精美的外观而闻名。食家巷的千层烤馍更是其中的佼佼者&#xff0c;它采用了优质的原料和传统的制作工艺&#xff0c;让你品尝到最正宗的甘肃味道。 食家巷千层烤馍的制作过程非常讲究&#xff0c…

CVHub | CVPR 2024 | 英伟达发布新一代视觉基础模型: AM-RADIO = CLIP + DINOv2 + SAM

本文来源公众号“CVHub”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;CVPR 2024 | 英伟达发布新一代视觉基础模型: AM-RADIO CLIP DINOv2 SAM 标题&#xff1a;《AM-RADIO: Agglomerative Vision Foundation Model Reduce Al…

GPT-4o,AI实时视频通话丝滑如人类,Plus功能免费可用

不开玩笑&#xff0c;电影《她》真的来了。 OpenAI最新旗舰大模型GPT-4o&#xff0c;不仅免费可用&#xff0c;能力更是横跨听、看、说&#xff0c;丝滑流畅毫无延迟&#xff0c;就像在打一个视频电话。 现场直播的效果更是炸裂&#xff1a; 它能感受到你的呼吸节奏&#xf…

爆款预警!2024年必火的五大软件应用,你准备好了吗?

2024年必火的五大软件应用可以从多个角度进行预测。首先&#xff0c;人工智能&#xff08;AI&#xff09;的应用将继续扩大其在软件开发和用户体验改善中的作用。AI技术被用于改善用户体验&#xff0c;如聊天机器人&#xff0c;创建数据驱动的战略和决策&#xff0c;预测趋势以…

学习神经网络基础架构

今日学习了解了常见的几种神经网络基础架构。 1.卷积神经网络 卷积神经网络CNN是一种人工神经网络&#xff0c;旨在处理和分析具有网格状拓扑结构的数据&#xff0c;如图像和视频。将 CNN 想象成一个多层过滤器&#xff0c;可处理图像以提取有意义的特征并进行推理预测。 想…

第十五节:贪心算法(下)

一 、 贪心算法的解题套路实战一&#xff08;最多的会议宣讲场次&#xff09; 1.1 描述 一些项目要占用一个会议室宣讲&#xff0c;会议室不能同时容纳两个项目的宣讲。 给你每一个项目开始的时间和结束的时间 你来安排宣讲的日程&#xff0c;要求会议室进行的宣讲的场次最多。…

Android 几种系统升级方式详解

目录 ◆ 概述 ● 几种启动模式 ● MISC分区 ● CACHE分区 ● 几种系统升级方式 ◆ Recovery升级 ● 升级包构成&#xff0c;签名&#xff0c;制作 ● 升级脚本 ● 升级过程 ◆ OTA升级 ● 升级包构成&#xff0c;制作 ● 升级脚本 ● 升级过程 ◆ fastboot升级 ◆ ADB升级 几…

System V IPC(进程间通信)机制详解

文章目录 一、引言二、System V IPC的基本概念1、IPC结构的引入2、IPC标识符&#xff08;IPC ID&#xff09;3、S ystem V的优缺点 三、共享内存&#xff08;Shared Memory&#xff09;1、共享内存的基本概念2、共享内存的创建&#xff08;shmget&#xff09;3、共享内存的附加…

FreeRTOS【4】线程挂起和恢复

1.开发背景 基于上一篇指引&#xff0c;成功创建并启动线程后&#xff0c;线程已经开始运行了&#xff0c;但是有时我们需要线程暂停运行&#xff0c;例如某个线程是控制 LED 闪灯的&#xff0c;如果现在需要让 LED 停止工作&#xff0c;单纯的关闭 LED 是没用的&#xff0c;因…

刷题之最长连续序列

哈希表 class Solution { public:int longestConsecutive(vector<int>& nums) {//set记录并且去重nums中的数unordered_set<int>set;for(int i0;i<nums.size();i){set.insert(nums[i]);}int result0;//遍历所有数for(auto iset.begin();i!set.end();i){//如…

智能EDM邮件群发工具哪个好?

企业之间的竞争日益激烈&#xff0c;如何高效、精准地触达目标客户&#xff0c;成为每个市场战略家必须面对的挑战。在此背景下&#xff0c;云衔科技凭借其前沿的AI技术和深厚的行业洞察&#xff0c;匠心推出了全方位一站式智能EDM邮件营销服务平台&#xff0c;重新定义了邮件营…

(三)Spring教程——依赖注入与控制反转

Spring框架是为了简化企业级应用开发而创建的&#xff0c;其强大之处在于对Java SE和Java EE开发进行全方位的简化&#xff0c;Spring还对常用的功能进行封装&#xff0c;可以极大地提高Java EE的开发效率。 依赖注入是Spring的核心技术之一&#xff0c;也被称为“控制反转”&a…

Element-UI 快速入门指南

文章目录 一、安装 Element-UI1.1 使用 npm 安装1.2 使用 yarn 安装 二、引入 Element-UI三、使用 Element-UI 组件3.1 按钮组件3.2 输入框组件3.3 表单组件3.4 表格组件3.5 弹框组件 四、自定义主题4.1 安装主题工具4.2 初始化变量文件4.3 编译主题 五、总结 &#x1f389;欢迎…

栈:概念与实现,超简单!!!

1.概念 压栈&#xff1a;栈的插入操作叫做进栈/压栈/入栈&#xff0c;入数据在栈顶。出栈&#xff1a;栈的删除操作叫做出栈&#xff0c;出数据也在栈顶。栈的元素遵循后进先出LIFO(Last In First Out)的原则。后面进来的数据先出去 2.栈的实现 三种实现方法&#xff0c;数组…

如何在Springboot项目的Mapper中增加一个新的sql语句

在做项目的过程中&#xff0c;我发现有的时候需要用到一些不在springboot的Mapper中的Sql语句&#xff0c;那么应该如何进行操作呐&#xff1f;&#xff1f; 平常我们创建springbootmybatisPlus项目的时候是这样创建的&#xff1a;&#xff1a; 1、创建实体类 2、创建Mappe…