C++信息学奥赛1186:出现次数超过一半的数

news/2024/7/5 2:22:42

在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin >> n; // 输入一个整数n

    int arr[n]; // 定义一个长度为n的整型数组
    for (int i = 0; i < n; i++)
    {
        cin >> arr[i]; // 输入数组元素
    }

    int a, max; // 定义变量a和max
    max = a = 0; // 初始化max和a为0

    for (int i = 0; i < n; i++)
    {
        a = 0; // 初始化a为0

        for (int j = 0; j < n; j++)
        {
            if (arr[i] == arr[j]) // 如果当前元素与内层循环中的元素相等
            {
                a++; // 统计相同元素数量
            }
        }

        int half;
        if (n % 2 == 1) // 如果n为奇数
        {
            half = n / 2 + 1; // 则取中间位置的索引值
        }
        else // 如果n为偶数
        {
            half = n / 2; // 则取中间位置靠前的索引值
        }

        if (half <= a) // 如果相同元素数量大于等于中间位置索引值
        {
            cout << arr[i]; // 输出结果为该元素
            return 0; // 结束程序
        }
    }

    cout << "no"; // 如果没有满足条件的元素,则输出"no"
}

这段代码的作用是判断给定的整数数组中是否存在出现次数超过一半的元素。首先,通过循环输入整数数组的元素。然后,通过两层循环遍历数组,外层循环逐个元素进行统计,内层循环计算当前元素在数组中出现的次数。在内部循环中,如果发现有元素出现次数超过了数组长度的一半(取整),则输出该元素并结束程序。如果没有满足条件的元素,则输出"no"。


http://lihuaxi.xjx100.cn/news/1518638.html

相关文章

【SA8295P 源码分析】88 - QNX AIS Camer qcarcam_test Dump摄像头图片过程指导、qcarcam_test 使用方法介绍

【SA8295P 源码分析】88 - QNX AIS Camer qcarcam_test Dump摄像头图片过程指导、qcarcam_test 使用方法介绍 一、使用 qcarcam_test dump 摄像头图片1. 通过硬件原理图、代码 来获取摄像头信息2. 扫描 /dev/cci3 总线,确认设备存在:i2ctool /dev/cci3 scan3. 使用 qcarcam_t…

uniapp 手机 真机测试 ​ 云打包 要是没申请 可以使用云打包 然后采用 测试权限即可​

uniapp 手机 真机测试 打开手机 找到手机的 版本号 点击 知道提示 &#xff08;启动开发者模式&#xff09; 然后 在进行usb的连接打开 运行uniapp 到手机基台 手机确认 即可 四&#xff0c; 云打包 要是没申请 可以使用云打包 然后采用 测试权限即可

关于iview select 绑定两个值的方法

因为v-model 只能绑定一个值 所以我们可以有以下思路 1.拼接value :value"item.valueitem.label" // 或者 value.split(/)[0]取值 :value"item.value/item.label" 2.绑定索引 不绑定具体的值&#xff0c;而是去绑定索引值:value"index"&…

模 板 编 译

模板编译 Vue 的核心功能之一&#xff0c;模板编译。我们无需关心如何通过数据操作 DOM 进行页面渲染&#xff0c;这些事情 Vue 内部已经帮我们实现了。我们只需要关心数据层面即可。 基础使用 在选项 data 中定义了 message 变量&#xff0c;只需要在 template 中进行调用即…

七、SSM 框架整合

目前已经学习了 MyBatis 框架&#xff0c;Spring 框架&#xff0c;以及Spring MVC 框架。现阶段学习将这三个框架整合到一起&#xff0c;实现简单的前后端交互的曾删改差功能页面。 Mybatis 框架主要负责数据库的操作问题&#xff0c;以及数据回显。该框架将 SQL 与 Jav…

语音增强-谱减法

导入相关包 import librosa import numpy as np import matplotlib.pyplot as plt from playsound import playsound import soundfile as sf 加载音源 # 干净的声音 clean_wav_file sf1_cln.wav clean, fs librosa.load(clean_wav_file, srNone) # 带噪音的声音 noise_w…

使用maven idea环境

创建模块工程后 idea三种方式执行maven命令 想在哪个工程模块上执行就点开哪一个 如果觉得双击完clean再双击install麻烦&#xff0c;可以 如果有需要还可以给命令后面加参数 ​​​ 第三种&#xff0c;在终端中打开&#xff0c;相当于通过idea进入了命令行 工程导入 导入模块…

L1和L2正则

L1和L2正则 L1正则常被用来进行特征选择&#xff0c;主要原因在于L1正则化会使得较多的参数为0&#xff0c;从而产生稀疏解&#xff0c;我们可以将0对应的特征遗弃&#xff0c;进而用来选择特征。一定程度上L1正则也可以防止模型过拟合。 L2正则&#xff1a; L1损失函数相比于…