C语言题目讲解

一:力扣485. 最大连续 1 的个数

1.题目:

2.思路分析

先设定两个变量,一个变量(ret_e)用来存连续的1的个数,当nums[i]为0时,该变量就置为0,当nums【i】为1时,再重新++;再设另一个变量(ret),作为返回值,当ret-e++时,如果ret<ret_e就把ret_e里面的值赋给ret

这样最后ret存的就是最大的连续的值

3.代码

int findMaxConsecutiveOnes(int* nums, int numsSize)
{
    int i = 0;
    int ret = 0;//返回值
    int ret_e = 0;//暂存值,与返回值作比较
    for (i = 0; i < numsSize; i++)
    {

        if (nums[i] == 1)
        {
            ret_e++;//存连续的1的个数
            if (ret_e > ret)
                ret = ret_e;
        }

        else
            ret_e = 0;
    }
    return ret;
}

二:HJ31 单词倒排

1.题目

2.思路

重点就在于把每一个用非字母隔开的字符串看作一小块,再把每一小块放在一个数组中,再倒序输出数组

3.代码

int main()
{
    char s[100][100] = { '\0' };
    int i = 0;
    char c;
    int cont = 0;
    int num = 0;
    while ((c = getchar()) != EOF)
    {
        if (isalpha(c))
        {
            s[cont][num++] = c;
        }
        else
        {
            cont++;
            num = 0;
        }
    }

    for (i = cont - 1; i >= 0; i--)
    {
        printf("%s ", s[i]);
    }
    return 0;
}

三:HJ37 统计每个月兔子的总数

1.题目:

2.思路

3.代码

int main() 
{
    int n = 0;
    scanf("%d",&n);
    int arr[35] = {0};
    arr[1] = 1;
    arr[2] = 1;
    for(int i =3; i<=n;i++)
    {
        arr[i] = arr[i-1]+arr[i-2];
    }
    printf("%d",arr[n]);
    return 0;
}

以下是关于C语言蓝桥杯算法讲解: 1. 蓝桥杯算法题目类型 蓝桥杯算法题目主要分为以下几类:数学题、递推题、搜索题、贪心题、动态规划题、图论题等。 2. 数学题 数学题是蓝桥杯中出现频率最高的一类题目,主要考察对数学知识的掌握和应用能力。常见的数学题目有:最大公约数、最小公倍数、质数判断、进制转换、排列组合等。 3. 递推题 递推题是指通过已知的一些条件,推导出后续的结果。递推题目通常需要使用循环结构来实现。常见的递推题目有:斐波那契数列、汉诺塔、青蛙跳等。 4. 搜索题 搜索题是指在一个状态空间中寻找目标状态的过程。搜索题目通常需要使用递归或循环结构来实现。常见的搜索题目有:深度优先搜索、广度优先搜索、回溯法等。 5. 贪心题 贪心算法是指在每一步选择中都采取当前状态下最优的选择,从而希望导致结果是全局最优的算法。贪心题目通常需要使用排序等方法来实现。常见的贪心题目有:背包问题、活动安排等。 . 动态规划题 动态规划是一种将复杂问题分解成小问题来解决的优化技术。动态规划题目通常需要使用递推或循环结构来实现。常见的动态规划题目有:最长上升子序列、最大子段和等。 7. 图论题 图论是研究图的性质和图之间关系的数学分支。图论题目通常需要使用图的遍历、最短路径等算法来实现。常见的图论题目有:最短路径、最小生成树等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玖剹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值