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

算法笔记day06

目录

1.添加逗号

 2.跳台阶

3.扑克牌顺子


1.添加逗号

添加逗号_牛客题霸_牛客网

 算法思路:

按照提议模拟即可,从后向前遍历字符串,遍历三个字符之后,将其插入将这三个字符插入到新的字符串中再加上逗号。

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() 
{
    string s;
    cin >> s;
    int n = s.size();
    string ret;
    int cnt = 1;
    for(int i = n - 1; i >= 0; i--)
    {
         ret += s[i];
         if(i != 0 && cnt == 3)
         {
            cnt = 0;
            ret += ',';
         }
        cnt++;
    }

    reverse(ret.begin(), ret.end());
    cout << ret << endl;
    return 0;
}
// 64 位输出请用 printf("%lld")

 2.跳台阶

跳台阶_牛客题霸_牛客网

算法思路:

动态规划的入门题

1.状态分析: dp[i] i级台阶的跳法

2.状态转移方程:以最后一步的状态推出状态转移方程,青蛙只能跳一步或者两步,所以到达i位置无非就是两种情况从i-1跳或者从i-2跳 dp[i] = dp[i -1] + dp[i - 2]。

#include <iostream>
using namespace std;

// 1 2 3 4
// a b c
//   a b c
int main() 
{
    int n = 0; 
    cin >> n;
    int a = 1, b = 1,c = 0;

    for(int i = 2; i <= n; i++)
    {
        c = a + b;
        a = b;
        b = c;
    }
    if(n ==0 || n == 1)
    cout << n << endl;
    else
    cout << c << endl;
    return 0;
}
// 64 位输出请用 printf("%lld")

3.扑克牌顺子

扑克牌顺子_牛客题霸_牛客网

算法思路:

这道题可以使用逆向思维,哪5张扑克牌不能组成顺子。

1.出现重复的牌,一定组不成顺子。

2.5张扑克,最大的牌 - 最小的牌 差值大于 4 也一定组不成顺子。

#include <functional>
class Solution {
public:
//2 0 0 4 6
    bool IsContinuous(vector<int>& numbers) 
    {
        int Max = 0;
        int Min = 14;
        int n = numbers.size();
        bool hash[14] = {0};
       for(auto a : numbers)
       {
        if(a != 0)
        {
            if(hash[a])
            {
                return false;
            }
            hash[a] = true; 
            Max = max(a, Max);
            Min = min(a,Min);       
        }
       }
        return Max - Min <= 4;
    }
};


http://www.kler.cn/news/365623.html

相关文章:

  • 设计一个html+css+js的注册页,对于注册信息进行合法性检测
  • 未来汽车驾驶还会有趣吗?车辆动力学系统简史
  • 网站被浏览器提示“不安全”,如何快速解决
  • EasyExcel_动态表头的导入导出
  • NavMesh只制作可移动的导航网,清除多余不可走区域
  • 使用docker-compose搭建redis7集群-3主3从
  • 【Jenkins】解决使用容器化部署的Jenkins Agent节点时出现的git检查报错
  • 24.redis高性能
  • Visual Studio中无法打开Qt中UI文件,简单快捷处理方法
  • ai智能外呼系统有什么优势?怎么搭建机器人系统?
  • 论文笔记:LaDe: The First Comprehensive Last-mile Delivery Dataset from Industry
  • 【React系列四】—React学习历程的分享
  • 单例模式介绍
  • 基于线性回归(Linear Regression)的房屋价格预测
  • 【华为HCIP实战课程二十】OSPF特殊区域NSSA配置详解,网络工程师
  • 【STM32+HAL】STM32CubeMX学习目录
  • qt QMediaPlaylist
  • ComfyUI初体验
  • 【北京迅为】itop-龙芯2k1000开发指南Linux基础入门vim 编辑器
  • 【linux】ELKB安装token过期
  • arcgis js 怎么加载geoserver发布的wms服务
  • 批处理操作的优化
  • 大数据-190 Elasticsearch - ELK 日志分析实战 - 配置启动 Filebeat Logstash
  • java List对象集合中 如何根据集合中对象某几个属性组合去重
  • 太速科技-527-基于3U VPX XCZU15EG+TMS320C6678的信号处理板
  • 嵌入式MCU面经(突击版)