C语言leetcode集训一:数组

         为了进一步巩固C语言基础,同时进一步了解leetcode刷题的流程,开始进行C语言的集训,今天是第一天,看看我都做了哪些题,因为周末,有点颓废,所以基本上都是简单题,现在只想睡觉......

          有关数组的知识想必应该不用多说,主要是了解数组的存储结构,长度索引和函数传参,下面看看都有哪些题型

1.搜索旋转排序数组

 int search(vector<int>& nums, int target) {
     for(int i=0;i<nums.size();i++)
   {
       if(nums[i]==target)
       {
           return i;
           break;
       }
       
   }
   return -1;

           这里给出的代码都是核心代码模式,都是具有该功能的函数实现,但其实在以后的公司面试中,ACM模式是很重要的,ACM模式就是让你直接赋值,自己输入输出实现功能,相比核心代码模式要难一点。

           这道题我不明白为什么是中等难度,不就是在数组中寻找目标值的下标索引吗,没什么难度啊。

2.搜索旋转排序数组中的最小值

 int findMin(vector<int>& nums) {
        int min=1000;
        for(int i=0;i<nums.size();i++)
        {
            if(nums[i]<min)
            {
                min=nums[i];
            }
        }
        return min;
    }

         这道题就是寻找最小值,更没有难度了,先定义一个最小值,一般需要比较大,然后遍历数组,如果找到比这个最小值min还小的值,更新最小值min,最后返回最小值min

3.斐波那契数

int fn[1000];
    int fib(int n) {
     fn[0]=0,fn[1]=1;
     for(int i=2;i<=n;i++)
     {
         fn[i]=fn[i-1]+fn[i-2];
     }
      return fn[n];
    }

            这道题也算是数组的经典题目了,求斐波那契数列的第n项,解题思路是:先定义一个全局的辅助函数,然后定义斐波那契数列的前两项,循环通项公式即可。

4.爬楼梯

 int f[1000];
    int climbStairs(int n) {
        f[0]=f[1]=1;
        for(int i=2;i<=n;i++)
        {
            f[i]=f[i-1]+f[i-2];
        }
    return f[n];
    }

      看到这你可能就会有疑问,这不是跟上一题的代码一样吗,你耍我呢,我知道你急,但你先别急,这道题其实就是在求斐波那契的第n项,怎么分析出来呢?听我细细道来

      在没有思路时,我们可以看示例来列举,在距离楼顶只有0阶时,有1种办法;在距离楼顶只有1阶时,有1种方法;在距离楼顶有2阶时,有2种方法,因为我们可以从距离楼顶只有1阶上来,这样和距离楼顶只有1阶时一样,也可以从距楼顶有2阶上来,这样一次走2阶,加起来就是2种方法;在距离楼顶有3阶时,可以先上1阶,从距离楼顶只有2阶上来,这样就和前面一样的方法了,是2种,也可以上2阶,然后就和距离楼顶只有1阶一样了;同理在距离楼顶4阶时,可以先上1阶,后面和距离3阶一样,或者先上2阶,后面和距离2阶一样,这样就很容易想到是斐波那契额问题啦!

5.猜数字

int game(vector<int>& guess, vector<int>& answer) {
          int cnt=0;
          for(int i=0;i<3;i++)
          {
              cnt+=(answer[i]==guess[i])?1:0;
          }
          return cnt;
    }

      这道题也是简单题,就是遍历两个数组,看相同索引下两个数组的值是否相同,相同计数器就加1,不相同加0。

6.拿硬币

int minCount(vector<int>& coins) {
         int cnt=0;
         for(int i=0;i<coins.size();i++)
         {
             cnt+=(coins[i]+1)/2;
         }
         return cnt;
    }

      这道题其实就是看硬币数是奇数还是偶数的问题,如果coins[i]为奇数的话,求最少的次数肯定是先拿2枚,最后肯定要拿1枚,次数就是(coins[i]+1)/2;如果为偶数的话,次数本来应该写成coins[i]/2的,但C语言有向下取整的规则,所以我们可以统一写成(coins[i]+1)/2了。

       今天属实有点不想学,水了一篇博客,大家见谅。

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

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

相关文章

【无标题】树莓派 4B 多串口配置

0. 实验准备以及原理 0.1 实验准备 安装树莓派官方系统的树莓派 4B&#xff0c;有 python 环境&#xff0c;安装了 serial 库 杜邦线若干 屏幕或者可以使用 VNC 进入到树莓派的图形界面 0.2 原理 树莓派 4B 有 UART0&#xff08;PL011&#xff09;、UART1&#xff08;mini UAR…

YOLOv8改进实验:一文了解YOLOv8如何打印FPS指标

💡该教程为改进YOLOv8指南,属于《芒果书》📚系列,包含大量的原创首发改进方式🚀 💡🚀🚀🚀本博客内含改进源代码,按步骤操作运行改进后的代码即可 💡更方便的统计更多实验数据,方便写作 新增YOLOv8打印FPS指标 完善(一键YOLOv8打印FPS指标) 文章目录 完善…

MySQL - 事务隔离级别

MySQL 事务 本文所说的 MySQL 事务都是指在 InnoDB 引擎下&#xff0c;MyISAM 引擎是不支持事务的。 数据库事务指的是一组数据操作&#xff0c;事务内的操作要么就是全部成功&#xff0c;要么就是全部失败 事务具有原子性&#xff08;Atomicity&#xff09;、一致性&#xff0…

软件压力测试的重要性与用途

在当今数字化的时代&#xff0c;软件已经成为几乎所有行业不可或缺的一部分。随着软件应用规模的增加和用户数量的上升&#xff0c;软件的性能变得尤为关键。为了确保软件在面对高并发和大负载时仍然能够保持稳定性和可靠性&#xff0c;软件压力测试变得至关重要。下面是软件压…

vue2-elementUI部分组件样式修改

el-radio样式&#xff1a; /deep/ .el-radio__input .el-radio__inner {width: 20px;height: 20px;position: relative;cursor: pointer;-webkit-appearance: none;-moz-appearance: none;appearance: none;border: 1px solid #999;border-radius: 0;outline: none;transition…

LeetCode刷题--- 二叉树剪枝

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏&#xff1a;http://t.csdnimg.cn/ZxuNL http://t.csdnimg.cn/c9twt 前言&#xff1a;这个专栏主要讲述递归递归、搜索与回溯算法&#xff0c;所以下面题目主要也是这些算法做的 我讲述…

渗透测试是什么

随着信息技术的飞速发展&#xff0c;网络安全问题日益凸显。其中&#xff0c;渗透测试作为一种重要的安全评估方法&#xff0c;已经被越来越多的企业和组织所采用。渗透测试通过模拟黑客攻击&#xff0c;发现并修复潜在的安全漏洞&#xff0c;从而提高系统的安全性。 直白的说…

题目:肖恩的苹果林(蓝桥OJ 3683)

题目描述&#xff1a; 解题思路&#xff1a; 本题采用二分中的二分答案。枚举每一个最大距离&#xff08;i&#xff1a;1 ~ n&#xff09;以及他们至少能容纳的树木数&#xff08;上一题&#xff1a;跳石头-蓝桥OJ 364&#xff09; 判断二分内判断条件是>还是<以及是lmi…

满载re:Invent 2023全新发布惊喜,亚马逊云科技下一站GenAI@巡演来啦

无限构建&#xff0c;成为生成式AI原生开发者前沿生成式AI技术之旅正式启程&#xff0c;穿越多个中国的城市&#xff0c;开发者一站式体验&#xff0c;满载re:Invent 2023全新发布惊喜。 LET’S Demo 「构」硬核 生成式AI时代的开发新范式 Amazon Q 全新的企业级生成式AI助手…

CNN、LeNet、AlexNet基于MNIST数据集进行训练和测试,并可视化对比结果

完成内容&#xff1a; 构建CNN并基于MNIST数据集进行训练和测试构建LeNet并基于MNIST数据集进行训练和测试构建AlexNet并基于MNIST数据集进行训练和测试对比了不同网络在MNIST数据集上训练的效果 准备工作 import torch import torch.nn as nn import torch.optim as optim …

【Canvas】记录一次从0到1绘制风场空间分布图的过程

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热衷分享有趣实用的文章&#xff0c;希望大家多多支持&#xff0c;一起进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 背景 前置知识 风场数据 绘制风场 准备工作 生成二维网格 获取…

vxe-table 右键菜单+权限控制(v3)

1.menu-config 是用于配置右键菜单的属性。通过 menu-config 属性&#xff0c;定义右键菜单的内容、显示方式和样式。 通过 menu-config 属性配置了右键菜单&#xff0c;其中的 options 属性定义了右键菜单的选项。用户在表格中右键点击时&#xff0c;将会弹出包含这些选项的自…

md笔记使用加自动备份整理

1、安装使用 TyporaGiteePicGo搭建图床&#xff08;解决使用Typora写的笔记上传csdn图片无法正常显示问题&#xff09; 2、修改主题 文件-》偏好设置-》外观-》打开主题文件夹 将css文件放到里面然后重启typora&#xff08;css文件可以参考参考链接&#xff09; 3、设置自动备份…

数据结构二维数组计算题,以行为主?以列为主?

1.假设以行序为主序存储二维数组Aarray[1..100,1..100]&#xff0c;设每个数据元素占2个存储单元&#xff0c;基地址为10&#xff0c;则LOC[5,5]&#xff08; &#xff09;。 A&#xff0e;808 B&#xff0e;818 C&#xff0e;1010 D&…

包装效果图渲染技巧:怎么用云渲染省钱、省时间

在今天这个市场竞争白热化的时代&#xff0c;一个产品的包装设计往往决定了它在架上是否能够脱颖而出。因此&#xff0c;品牌在推向市场前精心设计的包装效果图显得尤为重要。在这里&#xff0c;我们将探究包装效果图渲染的关键性、渲染技巧及云渲染技术如何在提升渲染品质与降…

Matlab 点云收缩L1中值(Weiszfeld算法)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 对于之前的加权均值收缩方式,它存在一个很大的缺点,即容易受到噪声的影响,因此这里我们采用另一种统计学方案:L1中值。其形式如下所示: 其中 x i x_i

DICOM 文件中,VR,VL,Sequence,图像二进制的几个注意点

DICOM 文件中&#xff0c;VR&#xff0c;VL&#xff0c;Sequence&#xff0c;图像二进制的几个注意点 1. 传输语法 DICOM 文件的结构&#xff0c;在网上有很多的学习资料&#xff0c;这里只介绍些容易混淆的概念&#xff0c;作为回看笔记。 每个传输语法&#xff0c;起都是表…

openGauss学习笔记-154 openGauss 数据库运维-备份与恢复-闪回恢复

文章目录 openGauss学习笔记-154 openGauss 数据库运维-备份与恢复-闪回恢复154.1 闪回查询154.1.1 背景信息154.1.2 前提条件154.1.3 语法154.1.4 参数说明154.1.5 使用示例 154.2 闪回表154.2.1 背景信息154.2.2 前提条件154.2.3 语法154.2.4 使用示例 154.3 闪回DROP/TRUNCA…

【清晰明了】Jenkins邮件发送配置

自带邮件插件 首先要知道的是jenkins是自带邮件插件的&#xff0c;且不支持卸载。 下面开始配置自带邮件插件。 配置默认邮件管理员 系统管理 --> 系统配置&#xff0c;进行如下配置&#xff1a; 不配置管理员邮件地址报错如下 jakarta.mail.internet.AddressException:…

网络编程----select 模型总结

为什么要使用select模型&#xff1f; 答&#xff1a;解决基本C/S模型中&#xff0c;accept()、recv()、send()阻塞的问题 select模型与C/S模型的不同点 C/S模型中accept()会阻塞一直傻等socket来链接select模型只解决accept()傻等的问题&#xff0c;不解决recv(),send()执行…