前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【C++笔试强训】如何成为算法糕手Day9

【C++笔试强训】如何成为算法糕手Day9

作者头像
小文要打代码
发布2024-10-17 08:06:59
950
发布2024-10-17 08:06:59
举报
文章被收录于专栏:C++学习历程

添加逗号

牛客网做题链接:添加逗号_牛客题霸_牛客网 (nowcoder.com)

思路:

一道简单的模拟题,有很多位数的数字可以看作字符串,将图画出来发现,当位数只有6(其中一种情况)位时都好会放在字符串结尾,因此需要限制。

代码实现:

代码语言:javascript
复制
#include <iostream>
using namespace std;

int main() {
    string s;
    cin>>s;
    string ret;
    int n=s.size();

    for(int i=0;i<n;i++)
    {
        ret+=s[i];
        if((n-i-1)%3==0 && i!=n-1)
        {
            ret+=',';
        }
    }
    cout<<ret<<endl;

    return 0;
}

跳台阶

牛客网做题链接:跳台阶_牛客题霸_牛客网 (nowcoder.com)

思路:

递归的思想,当台阶为一阶时有一种跳法,当台阶为二阶有两种跳法,当台阶为n阶时,可以从最后一步来考虑,如果最后一步跳一阶,前面有f(n−1)种跳法,

如果最后一步跳两阶的话,前面有f(n−2)种跳法.

f(0)=1 (0阶台阶有1种跳法,0阶乘=1)

f(1)=1

f(2)=2

f(n)=f(n−1)+f(n−2)

代码实现:

代码语言:javascript
复制
class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param number int整型
     * @return int整型
     */
    int jumpFloor(int number) {
        
        if (number < 2) return 1;
        vector<int> dp(number + 1);
        dp[0] = 1;
        dp[1] = 1;
        for (int i = 2; i <= number; i++) {
            dp[i] = dp[i - 1] + dp[i - 2];
        }

        return dp[number];
    }
};

扑克牌顺子

牛客网做题链接:扑克牌顺子_牛客题霸_牛客网 (nowcoder.com)

思路:

有两种做法,1、排序+模拟;2、规律

第一种需要先对给出数组进行排序,找出数与数之间的差额,若差额过大则返回false反之返回true。

第二种找出顺子的规律,因题目限制顺子数仅为5个,因此顺子中最大数与最小数相减不可能大于4,再进行分类讨论防止出现相同的数字。

代码实现:

代码语言:javascript
复制
#include <algorithm>
class Solution {
   
   
    bool hash[14]={0};
public:
    bool IsContinuous(vector<int>& numbers) {
        int max1=0,min1=14;
        for(auto s: numbers)
        {
            if(s)
            {
                if(hash[s])return false;
                hash[s]=true;
                max1=max(max1,s);
                min1=min(min1,s);
            }
        }
        return max1-min1<=4;
    }
};

学习编程就得循环渐进,扎实基础,勿在浮沙筑高台

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 添加逗号
    • 思路:
      • 代码实现:
      • 跳台阶
        • 思路:
          • 代码实现:
          • 扑克牌顺子
            • 思路:
              • 代码实现:
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档