CSP201612-1:中間數

来源:https://www.cnblogs.com/husterzxh/archive/2018/02/16/8450232.html
-Advertisement-
Play Games

引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中國電腦學會(CCF)發起的"電腦職業資格認證"考試,針對電腦軟體開發、軟體測試、信息管理等領域的專業人士進行能力認證。認證對象是從事或將要從事IT領域專業技術與技術管理人 ...


引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中國電腦學會(CCF)發起的"電腦職業資格認證"考試,針對電腦軟體開發、軟體測試、信息管理等領域的專業人士進行能力認證。認證對象是從事或將要從事IT領域專業技術與技術管理人員,以及高校招考研究生的覆試對象。

 

  • 問題描述

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

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

  • 輸入格式

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

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

  • 輸出格式

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

  • 樣例輸入

6

2 6 5 6 3 5

  • 樣例輸出

5

  • 樣例說明

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

  • 樣例輸入

4

3 4 6 7

  • 樣例輸出

-1

  • 樣例說明

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

  • 樣例輸入

5

3 4 6 6 7

  • 樣例輸出

-1

  • 樣例說明

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

  • 評測用例規模與約定

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

 

  • 思路說明

首先利用sort()函數對輸入的n個數字進行升序排列,這樣所有值相同的數都會相鄰。然後通過迴圈可以找到一組重覆的數的起點i,終點j,只要i之前的數的個數等於j之後的數的個數,則說明這一組重覆的數就是我們要找的中間數。

  • 源代碼

# include <stdio.h>

# include <stdlib.h>

# include <memory.h>

# include <algorithm>

 

using namespace std;

 

bool compare(int a, int b)

{

    return a < b;

}

 

int main(void)

{

    int n; //個數

    int sign = 1;

    scanf("%d", &n);

    int *input = (int *)malloc(sizeof(int) * n);

    memset(input, 0, sizeof(int) * n);

    for (int i = 0; i < n; i++)

    {

        scanf("%d", input+i);

    }

    

    sort(input, input+n, compare); //升序排列

    

 

    int i, j;

    for (i = 0; i < n; )

    {

        for (j = i; j < n; j++)

        {

            if (input[i] != input[j])

            {

                break;

            }

        }

        if (i == n - j) //大於input[i]數的個數 = 小於input[i]數的個數

        {

            printf("%d\n", input[i]);

            sign = 0;

        }

        i = j;

    }

    if (sign)

    {

        printf("%d\n", -1);

    }

      

    

    return 0;

}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文主要對Java運行時數據區域、對象的創建過程、對象的記憶體佈局、對象的訪問定位、虛擬機類的載入機制進行簡單的介紹梳理。 ...
  • 1 學習計劃 1、jQuery easyUI messager使用方式 n alert方法 n confirm方法 n show方法 2、jQuery easyUI menubutton使用方式 3、自定義攔截器實現用戶未登錄自動跳轉到登錄頁面 n 創建攔截器 n 註冊攔截器 4、基於ajax實現用 ...
  • 安裝redis: 1.下載: step2:解壓 tar -zxvf redis-3.2.8.tar.gz step3:複製,放到usr/local⽬錄下 sudo mv ./redis-3.2.8 /usr/local/redis step4:進⼊redis⽬錄 cd /usr/local/redi ...
  • 在開發過程中,往往同一臺電腦要開發不同的項目,不同的項目可能需要不同版本的包,為瞭解決這個問題就引出了虛擬環境。 配置虛擬環境: 1.安裝虛擬環境: 2.安裝虛擬環境擴展包: 3.修改用戶家目錄下的配置文件.bashrc,添加如下內容: 4.使用source .bashrc命令使配置文件生效。 此時 ...
  • 1.PreparedStatement對象 PreparedStatement對象繼承Statement對象,它比Statement對象更強大,使用起來更簡單 1. Statement對象編譯SQL語句時,如果SQL語句有變數,就需要使用分隔符來隔開,如果變數非常多,就會使SQL變得非常複雜。 Pr ...
  • 一、爬蟲之requests a、介紹:使用requests可以模擬瀏覽器的請求,比起之前用到的urllib,requests模塊的api更加便捷(本質就是封裝了urllib3) b、註意:requests發送請求是將網頁內容下載來以後,並不會執行js代碼,這需要我們自己分析目標站點然後發起新的req ...
  • 引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中國電腦學會(CCF)發起的"電腦職業資格認證"考試,針對電腦軟體開發、軟體測試、信息管理等領域的專業人士進行能力認證。認證對象是從事或將要從事IT領域專業技術與技術管理人 ...
  • 本篇先寫一些基礎 今天看到一個cas單點登錄的源碼,搞環境就廢了大半時間 《SSO CAS單點系列》 參考了這篇博客里的配置,終於可以運行了 然後。。。。。。。。。。 我發現看不懂源碼!!!,果然還是太菜了。 好了我們知道web項目是根據web.xml的servlet標簽來實例化的, 看了下他的項目 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...