郑轻oj 1159: 最大的两个数(指针专题)

2023-11-23 19:20

本文主要是介绍郑轻oj 1159: 最大的两个数(指针专题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 比较耗时的做法:

#include <stdio.h>void LargestTow(int a[],int n,int *pfirst,int *psecond)
{int max = 0;*pfirst = a[0];;for (int i = 1; i < n; ++i){if (a[i] > *pfirst){*pfirst = a[i];max = i;}}for (int i = max; i < n - 1; ++i)a[i] = a[i + 1];*psecond = a[0];for (int i = 0; i < n - 1; ++i)if (a[i] > *psecond) *psecond = a[i];
}int main()
{int n, a[1010], x, y;scanf("%d", &n);for (int i = 0; i < n; ++i) scanf("%d", &a[i]);LargestTow(a, n, &x, &y);printf("%d %d", x, y);return 0;
}

省时间是做法:

#include <iostream>
#include <algorithm>
using namespace std;void LargestTow(int a[],int n,int *pfirst,int *psecond)
{*pfirst = a[0], *psecond = a[1];if (*psecond > *pfirst) swap(*psecond, *pfirst);for (int i = 1; i < n; ++i){if (a[i] > *pfirst) {*psecond = *pfirst;*pfirst = a[i];}else if (a[i] > *psecond) *psecond = a[i];}
}int main()
{int n, a[1010], first = 0, second = 0;cin >> n;for (int i = 0; i < n; ++i) cin >> a[i];LargestTow(a, n, &first, &second);printf("%d %d", first, second);return 0;
}

这篇关于郑轻oj 1159: 最大的两个数(指针专题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/420155

相关文章

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Java空指针异常NullPointerException的原因与解决方案

《Java空指针异常NullPointerException的原因与解决方案》在Java开发中,NullPointerException(空指针异常)是最常见的运行时异常之一,通常发生在程序尝试访问或... 目录一、空指针异常产生的原因1. 变量未初始化2. 对象引用被显式置为null3. 方法返回null

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

Java Optional避免空指针异常的实现

《JavaOptional避免空指针异常的实现》空指针异常一直是困扰开发者的常见问题之一,本文主要介绍了JavaOptional避免空指针异常的实现,帮助开发者编写更健壮、可读性更高的代码,减少因... 目录一、Optional 概述二、Optional 的创建三、Optional 的常用方法四、Optio

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

java两个List的交集,并集方式

《java两个List的交集,并集方式》文章主要介绍了Java中两个List的交集和并集的处理方法,推荐使用Apache的CollectionUtils工具类,因为它简单且不会改变原有集合,同时,文章... 目录Java两个List的交集,并集方法一方法二方法三总结java两个List的交集,并集方法一

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相