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

北京企业网站推广价格seo关键词排名报价

北京企业网站推广价格,seo关键词排名报价,网络营销论文选题方向,网站原型图设计问题描述 小明的老师准备组织一次班级活动。班上一共有 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/522088.html

相关文章:

  • 专门做自由行的网站网站优化排名资源
  • 一般做外贸上什么网站好百度人工客服24小时电话
  • 做网站维护网站seo技术能不能赚钱
  • 企业网站建设官网青岛seo精灵
  • 建站公司网站 discuz上海网站seo招聘
  • 搬瓦工vps建设网站qianhu微建站
  • 泰安做网站的深圳企业seo
  • 网站开发的要注意基本原则百度一下百度首页官网
  • asp网站空间申请关键词分为哪几类
  • c web网站开发弹窗深圳网站设计实力乐云seo
  • wordpress 多站点 固定链接百度快速seo优化
  • 广东贸易网站建设网站有吗免费的
  • 知名seo网站优化公司关键词优化师
  • 淄博做网站公司有哪些网络营销工具和方法
  • 如何创建网页模板惠州seo网站推广
  • 问答主题 WordPress深圳网站优化培训
  • python做网站后台长春网站快速优化排名
  • 建站素材图片企业网络营销
  • 门户网站构建手机百度
  • 深圳网站建设方维网络人民政府网站
  • 南山制作网站公司关键词分析工具有哪些
  • 响应式企业网站设计与实现十大门户网站
  • 谁有人和兽做的网站?黄页大全
  • 桂林微物网络科技有限公司seo是怎么优化的
  • 内部网站建设app百度视频免费下载
  • e通网网站建设百度首页
  • 黄村网站建设b站视频推广app
  • 苏州市住房和城乡建设局网站百度推广代理
  • 桐乡市住房建设局网站潍坊做网站哪家好
  • 卓企做的网站怎么样昆明百度关键词优化