2006NOIP普及組真題 1. 明明的隨機數

線上OJ:

【06NOIP普及組】明明的隨機數

核心思想:

本題的要求是
1、去重
2、排序
以上兩個要求正好可以使用 set 來實現。set 自帶了去重和排序的功能。輸出時使用 iterator 即可。

解法一、set
#include <bits/stdc++.h>
using namespace std;int n, x;
set<int> s;int main()
{scanf("%d", &n);while(n--){scanf("%d", &x);s.insert(x);}set<int>::iterator it; // 定義指向set的迭代器printf("%d\n", s.size());for(it = s.begin(); it != s.end(); it++)  printf("%d ", *it);  // 輸出set中每一個數return 0;
}
解法二、 sort + unique

我們可以利用sort + unique來完成。

unique是STL函數,包含于 <algorithm> 頭文件中。功能是將數組中相鄰的重復元素去除。然而其 本質將重復的元素移動到數組的末尾,最后再 將迭代器指向第一個重復元素的下標

所以,如果利用unique實現去重的功能,需要注意

1、先排序。因為unique只對相鄰的重復元素有效;
2、unique并未刪除重復元素,只是將重復元素 移動到 數組的 末尾
3、unique返回的是指向末尾第一個重復元素的迭代器
4、基于第2點和第3點,如果需要知道數組中不重復元素的個數,需要用unique返回的迭代器減去數組的起始地址,即
l e n = u n i q u e ( a , a + n ) ? a ; len = unique(a, a+n) - a; len=unique(a,a+n)?a;

#include <bits/stdc++.h>
using namespace std;int n;int main()
{scanf("%d", &n);int a[n];for(int i = 0; i < n; i++)  scanf("%d", &a[i]);  // 讀入sort(a, a+n);  // 先排序int len = unique(a, a+n) - a;  // 去重,并計算不重復元素的個數printf("%d\n", len); // 輸出長度for(int i = 0; i < len; i++)  printf("%d ", a[i]);  // 輸出不重復的元素return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/20402.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20402.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/20402.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

這里一定有你不知道的VS調試技巧

目錄 使用環境&#xff1a;Visual Studio 2022,如無特殊說明&#xff0c;都是在Debug、x64環境下編譯 一.什么是BUG 二.調試快捷鍵 F9&#xff1a;創建斷電或取消斷點 條件斷點&#xff1a;滿足這個條件才觸發 F5&#xff1a;啟動調試&#xff0c;經常?來直接跳到下?個斷…

20 - grace數據處理 - 地下水儲量計算過程分解 - 地下水儲量計算

20 - grace數據處理 - 地下水儲量計算過程分解 - 地下水儲量計算 0 引言1 地下水儲量變化計算過程0 引言 由水平衡方程可以將地下水儲量的計算過程分解為3個部分,第一部分計算陸地水儲量變化、第二部分計算地表水儲量變化、第三部分計算冰后回彈改正、第四部分計算地下水儲量變…

python爬蟲之JS逆向——網頁數據解析

目錄 一、正則 1 正則基礎 元字符 基本使用 通配符: . 字符集: [] 重復 位置 管道符和括號 轉義符 轉義功能 轉義元字符 2 正則進階 元字符組合(常用) 模式修正符 re模塊的方法 有名分組 compile編譯 二、bs4 1 四種對象 2 導航文檔樹 嵌套選擇 子節點、…

Vue:Bin Code Editor格式化JSON編輯器

最終效果如下圖所示&#xff0c; Bin Code Editor安裝 npm或yarn安裝命令如下&#xff0c; npm i bin-code-editor -S # or yarn add bin-code-editor 組件注冊 全局注冊 在 main.js 中寫入導入以下內容&#xff0c; import Vue from vue; import CodeEditor from bin-cod…

服務器數據恢復—異常斷電導致ESXi虛擬機無法啟動的數據恢復案例

服務器數據恢復環境&#xff1a; 某大廠PS4000服務器&#xff0c;服務器上部署VMware ESXi虛擬化平臺。 服務器故障&#xff1a; 機房斷電&#xff0c;重啟后服務器中的某臺虛擬機不能正常啟動。管理員查看虛擬機配置文件&#xff0c;發現無法啟動的虛擬機的配置文件除了磁盤文…

【每日刷題】Day53

【每日刷題】Day53 &#x1f955;個人主頁&#xff1a;開敲&#x1f349; &#x1f525;所屬專欄&#xff1a;每日刷題&#x1f34d; &#x1f33c;文章目錄&#x1f33c; 1. 1019. 鏈表中的下一個更大節點 - 力扣&#xff08;LeetCode&#xff09; 2. 116. 填充每個節點的下一…

Exce 兩列一組對齊呈現,缺失補 0

Excel 里有 多 組數據&#xff0c;每組 2 列&#xff0c;每組長度不同。第 1 列是編號&#xff0c;列之間的編號有重復。 ABCDEFGH1Mass10Mass11Mass12Mass132802200581309088146532802225938133306824779282975598142002482273148413154988335698822331305832720485110460842…

計算機考研|408 值得選擇嗎?有哪些優勢?

408當然非常值得報考&#xff0c;但是現在的408已經卷麻了&#xff01; 現在越來越多的學校改考408&#xff0c;光今年就有6所發布通知&#xff0c;宣布改考408&#xff0c;分別是&#xff1a; 這對考408的學生肯定是好消息&#xff0c;后面可能還會有學校陸續改考&#xff0c;…

一、實現一個簡單的 Google Chrome 擴展程序

目錄 &#x1f9ed; 效果展示 # 圖示效果 a. 拓展程序列表圖示效果&#xff1a; b. 當前選項卡頁面右鍵效果&#xff1a; c. 拓展程序消息提示效果&#xff1a; &#x1f4c7; 項目目錄結構 # 說明 # 結構 # 文件一覽 ? 核心代碼 # manifest.json # background.j…

SLAM ORB-SLAM2(26)重定位過程

SLAM ORB-SLAM2(26)重定位過程 1. 前言2. 詞袋模型2.1. 加快搜索2.2. 在文本檢索的應用2.3. 引入視覺圖像分類3. 重定位總體過程3.1. 計算當前幀特征點的詞袋向量3.2. 根據用詞袋查找相似的候選關鍵幀3.3. 通過詞袋模型進行初步匹配3.4. 查詢較匹配的關鍵幀3.4.1. 通過PnP投影…

華為 2024 屆實習校園招聘-硬件通?/單板開發——第五套

華為 2024 屆實習校園招聘-硬件通?/單板開發——第五套 部分題目分享&#xff0c;完整版帶答案(有答案和解析&#xff0c;答案非官方&#xff0c;未仔細校正&#xff0c;僅供參考&#xff09;&#xff08;共十套&#xff0c;每套四十題選擇題&#xff09;獲取&#xff08;WX:…

java期末細節知識整理(一)

1.java程序的執行過程&#xff1a;先編譯后解釋。也就是我們在idea寫的文件叫做java源文件&#xff08;.java結尾的文件&#xff09;&#xff0c;經過編譯器會生成字節碼文件&#xff08;.class結尾的文件&#xff09;&#xff0c;再通過解釋器進行實現 2.棧用來存儲引用類型的…

易語言本地IP一鍵切換程序(附帶源碼)

易語言本地IP一鍵切換程序 效果圖部分源碼源碼領取下期更新預報 效果圖 部分源碼 .判斷開始 (單選框1.選中 &#xff1d; 真)標簽5.標題 &#xff1d; #換行符 &#xff0b; “正在切換IP.”.如果真 (運行 (“netsh interface ip set address ” &#xff0b; #引號 &#xff…

PHP火狼大灌籃游戲源碼微信+手機wap源碼帶控制

使用此接口可以實現支付寶、QQ錢包、微信支付與財付通的即時到賬&#xff0c;免簽約&#xff0c;無需企業認證。PHP易支付源碼&#xff0c;免簽約不需要企業的支付平臺源碼&#xff0c;彩虹第三四方在線支付系統源碼,易支付token合作者商戶申請源碼&#xff0c;app和網頁都可以…

ubuntu--Linux運行時格式

Linux運行時格式 \r 錯誤 用vim打開那個執行錯誤的 sh腳本文件 進入最后一行模式下 :set ff顯示 fileformatdos 解決方法 : :set ffunix查看是否更改 : :set ff結果 : 保存退出即可 :x運行, 沒有出錯 * Author: cpu_code * Date: 2020-07-29 19:07:52 * LastEditTime: 2020…

day25回溯算法part02| 216.組合總和III 17.電話號碼的字母組合

216.組合總和III 題目鏈接/文章講解 | 視頻講解 class Solution { public:vector<vector<int>> result;vector<int> path;int sum;void backtracking(int n, int k, int startindex) {// int sum accumulate(path.begin(), path.end(), 0);if (sum n &am…

HTTP --tcp

TCP TCP連接 tcp/ip是全球計算機以及網絡設備都在使用的一種常見的分組交換網絡分層協議集&#xff0c;客戶端可以打開一條tcp/ip連接&#xff0c;連接到可能運行在世界各地的服務器應用程序&#xff0c;一旦連接建立起來了&#xff0c;在客戶端和服務器的計算機之間交換的報…

@autowired 注入進來對象為null的幾種場景及解決辦法

一、原因 Autowired 注解用于自動注入 Spring 容器中管理的依賴對象。如果注入的對象為 null&#xff0c;可能是以下原因之一&#xff1a; 被注入的對象沒有被 Spring 容器管理&#xff0c;即沒有被 Spring 掃描到或者沒有配置相應的 。注入的對象在 Spring 容器中有多個實例…

el-date-picker的使用,及解決切換type時面板樣式錯亂問題

這里選擇器的類型可以選擇日月年和時間范圍&#xff0c;根據類型不同&#xff0c;el-date-picker的面板也展示不同&#xff0c;但是會出現el-date-picker錯位&#xff0c;或者面板位置和層級等問題。 源代碼&#xff1a; <el-selectv-model"dateType"placeholder&…

BOOST_SREATCH

BOOST Boost是一個由C社區開發的開源庫&#xff0c;為C語言標準庫提供擴展。這個庫由C標準委員會庫工作組成員發起&#xff0c;旨在提供大量功能和工具&#xff0c;幫助C開發者更高效地編寫代碼。Boost庫強調跨平臺性和對標準C的遵循&#xff0c;因此與編寫平臺無關&#xff0…