python實現 CCF201612 1 中間數

2021-09-12 12:46:39 字數 1348 閱讀 1047

試題編號:

201612-1

試題名稱:

中間數時間限制:

1.0s

記憶體限制:

256.0mb

問題描述:

問題描述

在乙個整數序列a1, a2, …, an中,如果存在某個數,大於它的整數數量等於小於它的整數數量,則稱其為中間數。在乙個序列中,可能存在多個下標不相同的中間數,這些中間數的值是相同的。

給定乙個整數序列,請找出這個整數序列的中間數的值。

輸入格式

輸入的第一行包含了乙個整數n,表示整數序列中數的個數。

第二行包含n個正整數,依次表示a1, a2, …, an。

輸出格式

如果約定序列的中間數存在,則輸出中間數的值,否則輸出-1表示不存在中間數。

樣例輸入

62 6 5 6 3 5

樣例輸出

樣例說明

比5小的數有2個,比5大的數也有2個。

樣例輸入

43 4 6 7

樣例輸出

-1樣例說明

在序列中的4個數都不滿足中間數的定義。

樣例輸入

53 4 6 6 7

樣例輸出

-1樣例說明

在序列中的5個數都不滿足中間數的定義。

評測用例規模與約定

對於所有評測用例,1 ≤ n ≤ 1000,1 ≤ ai ≤ 1000。

1.通過counter統計每個整數出現的次數

2.注意事項可能全部整數都是乙個數

from collections import counter

n = int(input())

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

cou = counter(data) # 統計每個整數出現的次數

tag = false # 標記是否存在中間數

for key in cou.keys():# 遍歷每個整數

a = 0

b = 0

for k, v in cou.items():

if key == k:

continue

elif k > key:

a += v

elif k < key:

b += v

if a == b: # 注意存在全部整數都是一樣的情況

print(key)

tag = true

break

if tag == false:

print(-1)

ccf小球碰撞Python實現

輸入的第一行包含三個整數n,l,t,用空格分隔,分別表示小球的個數 線段長度和你需要計算t秒之後小球的位置。第二行包含n個整數a1,a2,an,用空格分隔,表示初始時刻n個小球的位置。輸出一行包含n個整數,用空格分隔,第i個整數代表初始時刻位於ai的小球,在t秒之後的位置。樣例輸入 3 10 5 4...

CCF 遊戲(Python實現 100分)

目錄前言 一 問題描述 二 問題分析 三 程式說明 最近我在做ccf的題目,也打算把每道題的解題思路都寫到部落格上來,希望能幫助到也在做ccf題目的讀者們,希望你們通過本文能有所提示,幫助大家提公升程式設計能力。另外有個很好的想法就是,建議讀者們可以先看一下問題分析的部分,然後自己再整理一下思路,重...

python實現 CCF201709 5 除法

試題編號 201709 5 試題名稱 除法時間限制 10.0s 記憶體限制 256.0mb 問題描述 問題描述 小蔥喜歡除法,所以他給了你n個數a1,a2,an,並且希望你執行m次操作,每次操作可能有以下兩種 給你三個數l,r,v,你需要將al,al 1,ar之間所有v的倍數除以v。給你兩個數l,r...