当前位置: 首页 > wzjs >正文

北京企业网站推广价格中央电视台一套广告价目表

北京企业网站推广价格,中央电视台一套广告价目表,如何做好网站内容优化,南昌地宝网二手房问题描述 小明的老师准备组织一次班级活动。班上一共有 nn 名 (nn 为偶数) 同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 nn 以内的正整数作为 idid,第 ii 名同学的 idid 为 aiai​。…

问题描述

小明的老师准备组织一次班级活动。班上一共有 nn 名 (nn 为偶数) 同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 nn 以内的正整数作为 idid,第 ii 名同学的 idid 为 aiai​。

老师希望通过更改若干名同学的 idid 使得对于任意一名同学 ii,有且仅有另一名同学 jj 的 idid 与其相同 (ai=ajai​=aj​)。请问老师最少需要更改多少名同学的 idid?

输入格式

输入共 22 行。

第一行为一个正整数 nn。

第二行为 nn 个由空格隔开的整数 a1,a2,...,ana1​,a2​,...,an​。

输出格式

输出共 11 行,一个整数。

样例输入

4
1 2 2 3

样例输出

1

样例说明

仅需要把 a1a1​ 改为 33 或者把 a3a3​ 改为 11 即可。

评测用例规模与约定

对于 20%20% 的数据,保证 n≤103n≤103。

对于 100%100% 的数据,保证 n≤105n≤105。

运行限制

语言最大运行时间最大运行内存
C++1s256M
C1s256M
Java2s256M
Python33s256M
PyPy33s256M
Go3s256M
JavaScript3s256M

完整代码:

import os
import sys
# 请在此输入您的代码
n = int(input())
data = list(map(int,input().split()))
data1={}
sum1=0
sum2=0
for i in data:data1[i]=data1.get(i,0)+1
for i,j in data1.items():if j<2:sum1=sum1+1if j>2:sum2=sum2+j-2
if sum1>=sum2:print(sum2+(sum1-sum2)//2)
else: print(sum2)

 

 

代码功能概述

这段 Python 代码的主要功能是对输入的数据进行处理,统计其中出现次数少于 2 次和多于 2 次的元素相关情况,然后根据统计结果计算并输出一个数值。具体来说,程序首先读取一个整数 n 表示数据的数量,接着读取 n 个整数并存储在列表 data 中,之后对列表中的元素进行计数统计,最后根据统计结果计算并输出结果。

代码详细分析

1. 导入模块

python

import os
import sys

导入了 os 和 sys 模块,但在后续代码中并未使用这两个模块,可将其移除。

2. 读取输入数据

python

n = int(input())
data = list(map(int, input().split()))

  • 从标准输入读取一个整数 n,表示接下来要输入的数据个数。
  • 读取一行输入,将其按空格分割成多个字符串,再将每个字符串转换为整数,最后将这些整数存储在列表 data 中。
3. 统计元素出现次数

python

data1 = {}
for i in data:data1[i] = data1.get(i, 0) + 1

  • 初始化一个空字典 data1,用于统计列表 data 中每个元素的出现次数。
  • 遍历列表 data,对于每个元素 i,使用 get 方法获取其在字典中的当前计数,如果元素不存在则默认为 0,然后将计数加 1。
4. 统计出现次数少于 2 次和多于 2 次的元素情况

python

sum1 = 0
sum2 = 0
for i, j in data1.items():if j < 2:sum1 = sum1 + 1if j > 2:sum2 = sum2 + j - 2

  • 初始化两个变量 sum1 和 sum2,分别用于记录出现次数少于 2 次和多于 2 次的元素相关统计值。
  • 遍历字典 data1 的键值对,对于出现次数 j 少于 2 次的元素,将 sum1 加 1;对于出现次数 j 多于 2 次的元素,将 j - 2 累加到 sum2 中。
5. 根据统计结果计算并输出结果

python

if sum1 >= sum2:print(sum2 + (sum1 - sum2) // 2)
else:print(sum2)

3. 统计元素出现次数

python

data1 = {}
for i in data:data1[i] = data1.get(i, 0) + 1

4. 统计出现次数少于 2 次和多于 2 次的元素情况

python

sum1 = 0
sum2 = 0
for i, j in data1.items():if j < 2:sum1 = sum1 + 1if j > 2:sum2 = sum2 + j - 2

5. 根据统计结果计算并输出结果

python

if sum1 >= sum2:print(sum2 + (sum1 - sum2) // 2)
else:print(sum2)
  • 如果 sum1 大于等于 sum2,则计算 sum2 + (sum1 - sum2) // 2 并输出。
  • 否则,直接输出 sum2

    代码功能概述

    这段 Python 代码的主要功能是对输入的数据进行处理,统计其中出现次数少于 2 次和多于 2 次的元素相关情况,然后根据统计结果计算并输出一个数值。具体来说,程序首先读取一个整数 n 表示数据的数量,接着读取 n 个整数并存储在列表 data 中,之后对列表中的元素进行计数统计,最后根据统计结果计算并输出结果。

    代码详细分析

    1. 导入模块

    python

    import os
    import sys
    
     

    导入了 os 和 sys 模块,但在后续代码中并未使用这两个模块,可将其移除。

    2. 读取输入数据

    python

    n = int(input())
    data = list(map(int, input().split()))
    
  • 从标准输入读取一个整数 n,表示接下来要输入的数据个数。
  • 读取一行输入,将其按空格分割成多个字符串,再将每个字符串转换为整数,最后将这些整数存储在列表 data 中。

  • 初始化一个空字典 data1,用于统计列表 data 中每个元素的出现次数。
  • 遍历列表 data,对于每个元素 i,使用 get 方法获取其在字典中的当前计数,如果元素不存在则默认为 0,然后将计数加 1。

  • 初始化两个变量 sum1 和 sum2,分别用于记录出现次数少于 2 次和多于 2 次的元素相关统计值。
  • 遍历字典 data1 的键值对,对于出现次数 j 少于 2 次的元素,将 sum1 加 1;对于出现次数 j 多于 2 次的元素,将 j - 2 累加到 sum2 中。
  • 如果 sum1 大于等于 sum2,则计算 sum2 + (sum1 - sum2) // 2 并输出。
  • 否则,直接输出 sum2
http://www.dtcms.com/wzjs/220685.html

相关文章:

  • 选片 网站 建设sem招聘
  • 做模板网站的利与弊百度关键词热度查询
  • 做网站需要视频衔接怎么做小程序开发哪家更靠谱
  • wordpress数据库配置seo 服务
  • 西安推广公司无网不胜seowhy教研室
  • 聊城做网站的搜索指数的数据来源
  • 自己可以做网站放在百度上面嘛360推广平台登录入口
  • 课程网站建设技术谷歌seo排名工具
  • 同里做网站今日热搜前十名
  • 做网站时空间的选择广州seo公司哪个比较好
  • 全球网站建设品牌网站建成后应该如何推广
  • 下载百度导航最新版本太原seo优化公司
  • wordpress js 代码seo搜索优化费用
  • 电话用网站做综合布线现在做网络推广都有什么方式
  • 网站加入百度广告联盟成都最好的seo外包
  • 宽带维修北京自动seo
  • 平面设计师的出路优化大师官网
  • 印章在线生成器重庆网站seo教程
  • 天津圣辉友联网站建设软件推广的渠道是哪里找的
  • 免费建公司网站的攻略100个商业经典案例
  • 网站换dns武汉网站建设
  • 怎么只做自己的电商网站网站优化推广的方法
  • 合肥响应式网站开发方案seo优化的常用手法
  • 漳州新闻网游戏优化大师官网
  • 网站选择城市怎么做软文是什么东西
  • 做网站开发需要学什么软件关键词搜索排名优化
  • 网站文章删除了怎么做404深企在线
  • 做电销有什么资料网站精准客户数据采集软件
  • 想做cpa 没有网站怎么做优化网站搜索排名
  • 用dreamweaver做网站免费的拓客平台有哪些