CSDN每日一练求最小元素 C语言

news2024/11/9 9:43:26

题目名称:求最小元素
时间限制:1000ms内存限制:256M
题目描述

Suppose an array sorted in ascending order is rotated at some pivot
unknown to you beforehand. (i.e., [0,1,2,4,5,6,7] might become
[4,5,6,7,0,1,2]). Find the minimum element. You may assume no
duplicate exists in the array. (注意:测试用例仅做参考,我们会根据代码质量进行评分)

输入描述:

第一行输入整数n。(1<=n<=10000)表示数组的大小 第二行给出n个整数a.(0<=a<=1e9)

输出描述:

输出答案

示例
输入

5
3 4 5 1 2

输出

1

思路:我们只需要将他存入数组,然后循环数组,找到最小值,然后将它输出出来。
代码如下(编译器是dev,语言是C语言):

#include <stdio.h>
#include <stdlib.h>

int solution(int n, int arr[]){
    int result;
    // TODO: 请在此编写代码
    result = arr[0];
    for(int i = 1;i<n;i++){
        if(result>arr[i]){
            result = arr[i];
        }
    }
    return result;
}
int main() {
    int n;
    scanf("%d", &n);
    int *arr;
    arr = (int*)malloc(n * sizeof(int));
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    int result = solution(n, arr);
    printf("%d", result);
    return 0;
}

在这里插入图片描述
不过上面是在他基础上填写的代码,我们其实感觉还有更快的算法,就是每当输入进来,我就判断是否是最小值,如果是最小值,我们就将它记录下来,这样只要输入完,我们就知道谁是最小值了呢。
该算法本人认为比较优,如果有更好的想法,欢迎q我!
代码如下(编译器是dev,语言是C语言):

#include <stdio.h>
int min,i,n,temp;
int main(){
    scanf("%d",&n);
    scanf("%d",&temp);
    min = temp;
    for(i = 1;i<n;i++){
        scanf("%d",&temp);
        if(min>temp){
            min = temp;
        }
    }
    printf("%d",min);
    return 0;
}

在这里插入图片描述
噗哈哈,咱就是说在理论上,肯定性能上做法二不管是时间复杂度还是空间复杂度都是要小的,因为你做法一弄了一个数组,做法二并没有,直接就三个变量,而且做法1还有一个循环遍历,做法二根本没有,不过我也不知道是什么原因,导致做法二的用时和空间利用均比做法一高!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MS17-010漏洞攻击与防御(利用永恒之蓝攻击Win7系统)

任务1 利用永恒之蓝攻击Win7系统 在Kali终端中输入命令“msfconsole ”&#xff0c;启动Metasploit&#xff1b;输入命令“use auxiliary/scanner/smb/smb_ms17_010”&#xff0c;加载扫描模块&#xff1b;输入命令“set RHOSTS 192.168.0.6”&#xff0c;设置需要被扫描的目标…

哈希表题目:环形链表 II

文章目录题目标题和出处难度题目描述要求示例数据范围进阶解法一思路和算法代码复杂度分析解法二思路和算法证明代码复杂度分析题目 标题和出处 标题&#xff1a;环形链表 II 出处&#xff1a;142. 环形链表 II 难度 2 级 题目描述 要求 给你一个链表的头结点 head\tex…

CSDN周赛第16期-100分满分题解

前言 这是时隔两年再参加比赛了&#xff0c;上次参加算法竞赛还是2020年在公司1024活动的时候。当时获得了二等奖&#xff08;switch套装&#xff09;和一个快题奖&#xff08;小米行李箱&#xff09;。 这次比赛获得了满分&#xff0c;也还不错。题目除了二维积水的问题&…

8Manage:提高项目执行力的策略有哪些?

在项目管理中实施执行战略&#xff0c;将战略目标转化为商业价值的企业将发现取得成功所涉及的大团队——最高管理层、中层管理人员、项目经理和项目团队。 以下是阻碍项目成功执行的六个主要差距&#xff1a; ● 缺少共同的理解 ● 缺乏参与的执行赞助者 ● 与战略目标不一致…

计算机网络—Nginx概述

文章目录nginx负载均衡&#xff1a;例&#xff1a;安装配置nginx————————————————————————————————nginx负载均衡&#xff1a; 请求会打到nginx上面&#xff0c;nginx可以用作负载均衡&#xff0c; 例&#xff1a;一个网站用一台服务器不够&a…

001 软件安装与配置

1、Anaconda安装及使用 1.1 下载地址 Anaconda3-2022.10-Windows-x86_64 1.2 Anaconda创建虚拟环境 下面均在Anaconda终端中输入 查看python版本 python --version1.2.1、Anaconda创建虚拟环境 conda create -n pytorch python3.9conda create 创建虚拟环境命令 -n pytor…

解决vue代码不规范而出现的问题:Eslint修复

当我们刚创建一个vue项目&#xff0c;写代码时候&#xff0c;因为代码写的不规范会出很多问题&#xff0c;报很多错误&#xff0c;除了一个一个去修改他们&#xff0c;还有没有其他办法去解决他们呢&#xff1f; 这里介绍三种办法去统一解决&#xff1a; 方法一&#xff1a;每…

MCU-51:让LED闪烁起来

目录一、LED闪烁1.1 编写代码1.2 延时函数1.3 由0和1控制实现二、LED流水灯2.1 流水灯基础版2.2 移位法实现LED流水灯一、LED闪烁 昨天我们初识单片机&#xff0c;点亮了一个灯开启了我们51单片机的学习之旅。那么今天我们来一步步深入学习。 1.1 编写代码 会了点亮一个灯&a…

嵌入式分享~IO相关1 ##

这里仅总结一下IO控制相关 单片机IO直接驱动继电器 上图是随便找到的两个不同型号的继电器。继电器就是个开关&#xff0c;这个开关是由它内部的线圈控制的&#xff0c;给线圈通电&#xff0c;继电器就吸合&#xff0c;开关就动作了。绝大部分的继电器反面都会有如下图一样的…

win10 git 标准化commit工具commitizen安装教程

1、 安装nodjs https://nodejs.org/en/ 下载最新版本 安装完成后&#xff0c;修改环境变量 默认 nodejs是有的&#xff0c;需要自己添加npm路径 2、安装commitizen 在桌面上右键打开power shell 查看node 和npm的版本&#xff0c;npm最好升级一下 升级命令问题 npm inst…

【HDR】曝光融合(Exposure Fusion)

文章目录0 前言1 算法细节1.1 Naive1.1.1 主要思想1.1.2 权重计算1.1.3 融合1.2 Multi-resolution2 实验3 参考0 前言 在曝光融合&#xff08;Exposure Fusion&#xff09;算法问世之前&#xff0c;多曝光序列合成用于显示的HDR需要两个步骤&#xff0c;第一步是将多张不同曝光…

MySql加密存储的数据,如何模糊搜索?

背景 蔚来被勒索 225 万美元&#xff0c;大量数据遭泄露&#xff01; 根据网络上流传的截图显示&#xff0c;黑客似乎掌握着蔚来内部员工数据 22800 条、车主用户身份证数据 399000 条、用户地址数据 6500000 条、注册用户数据 4850000 条、企业及企业代表联系人数据 10000 条…

dpdk编译

ubuntu网卡信息配置 虚拟机中除去最开始的一块网卡&#xff0c;再另外添加两块网卡&#xff0c;如下图所示 修改Ubuntu20_x64.vmx里面的配置信息 将ethernet0.virtualDev "e1000"里面的e1000更改成vmxnet3,因为e1000只支持网卡单队列&#xff0c;vmxnet3支持网卡对…

5G无线技术基础自学系列 | 5G移动性KPI

素材来源&#xff1a;《5G无线网络规划与优化》 一边学习一边整理内容&#xff0c;并与大家分享&#xff0c;侵权即删&#xff0c;谢谢支持&#xff01; 附上汇总贴&#xff1a;5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 5G移动类KPI用来评估NR网络的移动性能&…

29. 如何通过 ABAP 代码给 SAP OData 元数据增添注解

笔者的这篇 SAP UI5 开发教程文章&#xff0c;* SAP UI5 应用开发教程之一百二十九 - 如何给 SAP UI5 SmartField 添加 Value Help 功能&#xff0c;有朋友留言&#xff1a; 你好&#xff0c;请教一个问题&#xff0c;请问如何在odata里面通过annotations添加一个自定义注解&am…

2022年哪些工具适合设计企业产品手册?

产品手册是什么&#xff1f; 产品手册是因特网发展的成果&#xff0c;是一种以移动端为基础进行在线营销的新内容&#xff0c;其中包含了对原有的纸质商品、小册子、促销软文、邀请函等现有促销资料进行数字化的更新。 产品手册是从传统的纸质公司样本书中升级而来的&#xf…

Git 入门

文章目录0. 前言学习目标参考教程链接1. Git概念1.1 什么是Git1.2 Git 的下载1.3 Git三大区域1.4 远程仓库2. Git的使用2.1 图形化操作2.1.1 IDEA图形化操作2.1.2 GitKraken(可选)2.2 命令行操作2.2.1 Git 配置2.2.2 分支命令2.2.3 拉取与推送3. 总结0. 前言 学习目标 了解 G…

面试官:你来说一下Spring IOC容器的创建过程

这篇文章主要讲解 IOC 容器的创建过程&#xff0c;让你对整体有一个全局的认识&#xff0c;文章没有复杂嵌套的 debug 流程&#xff0c;相对来说比较简单。 不 BB&#xff0c;上文章目录。 1. 基础知识 1.1 什么是 Spring IOC &#xff1f; IOC 不是一种技术&#xff0c;只是…

数据结构抽象数据类型的表示和实现

抽象数据类型(Abstract Data Type&#xff0c;ADT)是指一个数学模型以及定义在此数学模型上的一组操作。例如&#xff0c;“整数”是一个抽象数据类型&#xff0c;其数学特性和具体的计算机或语言无关。“抽象”的意义在于强调数据类型的数学特性。抽象数据类型和数据类型实质上…

Halcon常用算子(库函数)整理

目录一. 常规操作类1.1 tuple_length()1.2 tuple_find_first()1.3 tuple_gen_const()二. 机器视觉操作类2.1 read_image()2.2 get_image_size()2.3 intensity()2.4 zoom_image_factor()2.5 median_image()2.6 Gauss_filter()2.7 fft_generic()2.8 convol_fft()2.9 sub_image()2…