【華為OD】C卷真題 100%通過:數組去重和排序 C/C++實現

華為OD?數組去重和排序 C++源碼實現,100%通過

目錄

題目描述:

示例1

代碼實現:


題目描述:

????????給定一個亂序的數組,刪除所有的重復元素,使得每個元素只出現一次,并且按照出現的次數從高到低進行排序,相同出現次數按照第一次出現順序進行先后排序。

輸入描述

一個數組

輸出描述

去重排序后的數組

示例1

輸入輸出示例僅供調試,后臺判題數據一般不包含示例

輸入

1,3,3,3,2,4,4,4,5

輸出

3,4,1,2,5

備注

數組大小不超過100

數組元素值大小不超過100

代碼實現:

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <unordered_map>
#include <sstream>using namespace std;int getIdx(vector<int> &arr, int tar) {for (int i = 0; i < arr.size(); ++i) {if (arr[i] == tar) return i;}return -1;
}
bool cmp(vector<int> &first, vector<int> &second) {if (first[1] != second[1]) {return first[1] > second[1];}else {return first[2] < second[2];}
}
int main()
{string s;getline(cin, s);replace(s.begin(), s.end(), ',', ' ');stringstream ss(s);int v;vector<int> arr;unordered_map<int, int> ump;while (ss >> v) {arr.push_back(v);ump[v]++;}vector<vector<int>> ans;for (auto it : ump) {ans.push_back({ it.first,it.second,getIdx(arr,it.first) });}sort(ans.begin(), ans.end(), cmp);for (int i = 0; i < ans.size() - 1; ++i) {cout << ans[i][0] << ",";}cout << ans.back()[0] << endl;return 0;
}

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

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

相關文章

C語言之字符串函數

C語言之字符串函數 文章目錄 C語言之字符串函數1. strlen的使用和模擬實現1.1 strlen的使用1.2 strlen的模擬實現 2. strcpy的使用和模擬實現2.1 strcpy的使用2.2 strncpy的使用2.3 strcpy的模擬實現 3. strcat的使用和模擬實現3.1 strcat的使用3.2 strncat3.3 strcat的模擬實現…

C語言--每日五道選擇題--Day23

第一題 1. 已知int i1, j2;&#xff0c;則表達式ij的值為&#xff08; &#xff09; A&#xff1a;1 B&#xff1a;2 C&#xff1a;3 D&#xff1a;4 答案及解析 C 本題考查的是前置和后置的優先級&#xff0c;后置的優先級是高于前置的&#xff0c;所以這個表達式就可以轉變為…

【Spark源碼分析】事件總線機制分析

Spark事件總線機制 采用Spark2.11源碼&#xff0c;以下類或方法被DeveloperApi注解額部分&#xff0c;可能出現不同版本不同實現的情況。 Spark中的事件總線用于接受事件并提交到對應的監聽器中。事件總線在Spark應用啟動時&#xff0c;會在SparkContext中激活spark運行的事件總…

什么是持續集成的自動化測試?

持續集成的自動化測試 如今互聯網軟件的開發、測試和發布&#xff0c;已經形成了一套非常標準的流程&#xff0c;最重要的組成部分就是持續集成&#xff08;Continuous integration&#xff0c;簡稱CI&#xff0c;目前主要的持續集成系統是Jenkins&#xff09;。 那么什么是持…

docker 安裝常用環境

一、 安裝linux&#xff08;完整&#xff09; 目前為止docker hub 還是被封著&#xff0c;用阿里云、騰訊云鏡像找一找版本直接查就行 默認使用latest最新版 #:latest 可以不寫 docker pull centos:latest # 拉取后查看 images docker images #給鏡像設置標簽 # docker tag […

FIB表與快速轉發表工作原理

在一張路由表中&#xff0c;當存在多個路由項可同時匹配目的IP地址時&#xff0c;路由查找進程會選擇掩碼最長的路由項用于轉發&#xff0c;即最長匹配原則。因為掩碼越長&#xff0c;所處的網段范圍就越小&#xff0c;網段的范圍越小&#xff0c;就越能快速的定位到PC機的具體…

【分布式】小白看Ring算法 - 03

相關系列 【分布式】NCCL部署與測試 - 01 【分布式】入門級NCCL多機并行實踐 - 02 【分布式】小白看Ring算法 - 03 【分布式】大模型分布式訓練入門與實踐 - 04 概述 NCCL&#xff08;NVIDIA Collective Communications Library&#xff09;是由NVIDIA開發的一種用于多GPU間…

通過 python 腳本遷移 Redis 數據

背景 需求&#xff1a;需要將的 Redis 數據遷移由云廠商 A 遷移至云廠商 B問題&#xff1a;云版本的 Redis 版本不支持 SYNC、MIGRATE、BGSAVE 等命令&#xff0c;使得許多工具用不了&#xff08;如 redis-port&#xff09; 思路 &#xff08;1&#xff09;從 Redis A 獲取所…

GoLand 2023.2.5(GO語言集成開發工具環境)

GoLand是一款專門為Go語言開發者打造的集成開發環境&#xff08;IDE&#xff09;。它能夠提供一系列功能&#xff0c;如代碼自動完成、語法高亮、代碼格式化、代碼重構、代碼調試等等&#xff0c;使編寫代碼更加高效和舒適。 GoLand的特點包括&#xff1a; 1. 智能代碼補全&a…

json 去除特殊字符換行等符號

由于字符串中有出現了 換行符&#xff0c;導致轉json失敗&#xff0c;報錯&#xff1a;json parse error。 一般來講&#xff0c;直接用string的replace方法就可以了 String str "{\"adrdet\":\"阿歌嘎\n嘎、\",\"date\":\"2023/06/…

Ubuntu安裝CUDA驅動

Ubuntu安裝CUDA驅動 前言官網安裝確認安裝版本安裝CUDA Toolkit 前言 CUDA驅動一般指CUDA Toolkit&#xff0c;可通過Nvidia官網下載安裝。本文介紹安裝方法。 官網 CUDA Toolkit 最新版&#xff1a;CUDA Toolkit Downloads | NVIDIA Developer CUDA Toolkit 最新版文檔&…

NX二次開發UF_CAM_update_list_object_customization 函數介紹

文章作者&#xff1a;里海 來源網站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_update_list_object_customization Defined in: uf_cam.h int UF_CAM_update_list_object_customization(tag_t * object_tags ) overview 概述 This function provids the…

UDP客戶端使用connect與UDP服務器使用send函數和recv函數收發數據

服務器代碼編譯運行 服務器udpconnectToServer.c的代碼如下&#xff1a; #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<arpa/inet.h> #include<sys/socket.h> #include<errno.h> #inclu…

Okhttp 淺析

安全的連接 OkHttpClient: OkHttpClient: 1.線程調度 2.連接池,有則復用,沒有就創建 3.interceptor 4.interceptor 5.監聽工廠 6.是否失敗重試 7.自動修正訪問,如果沒有權限或認證 8是否重定向 followRedirects 9.協議切換時候是否繼續重定向 10.Cookie jar 容器 默認…

Python 的 socket 模塊套接字編程(簡單入門級別)

Python 的 socket 模塊提供了對套接字編程的支持&#xff0c;允許你在網絡上進行數據傳輸。套接字是一個抽象的概念&#xff0c;它允許程序在網絡中的不同節點之間進行通信。 下面是 socket 模塊中一些常用的函數和類&#xff1a; 1. 創建套接字&#xff1a; socket.socket(…

pycharm 創建的django目錄和命令行創建的django再使用pycharm打開的目錄對比截圖 及相關

pytcharm創建django的項目 命令行創建的django 命令行創建項目時 不帶路徑時 (.venv) D:\gbCode>django-admin startproject gbCode 命令行創建項目時 帶路徑時 -- 所以如果有目錄就指定路徑好 (.venv) D:\gbCode>django-admin startproject gbCode d:\gbCode\

洛谷P1219 [USACO1.5] 八皇后【n皇后問題】【深搜+回溯 經典題】【附O(1)方法】

P1219 [USACO1.5] 八皇后 Checker Challenge 前言題目題目描述輸入格式輸出格式樣例 #1樣例輸入 #1樣例輸出 #1 提示題目分析注意事項 代碼深搜回溯打表 后話額外測試用例樣例輸入 #2樣例輸出 #2 王婆賣瓜 題目來源 前言 也是說到做到&#xff0c;來做搜索的題&#xff08;雖…

微機原理_2

一、單項選擇題(本大題共15小題,每小題3分,共45分。在每小題給出的四個備選項中,選出一個正確的答案&#xff0c;請將選定的答案填涂在答題紙的相應位置上。&#xff09; 下列數中最大的數為&#xff08;&#xff09; A. 10010101B B. (126)8 C. 96H D. 100 CPU 執行 OUT 60H,…

Android 9.0 隱藏設置顯示中自動調節亮度

Android 9.0 隱藏設置顯示中自動調節亮度 最近收到郵件需求提到想要隱藏設置顯示中的自動調節亮度&#xff0c;具體修改參照如下&#xff1a; /vendor/mediatek/proprietary/packages/apps/MtkSettings/res/xml/display_settings.xml - <Preference<!--Preferencea…

西門子(Siemens)仿真PLC啟動報錯處理

目錄 一、背景&#xff1a; 二、卸載軟件 三、安裝軟件 三、啟動軟件 四、下載PORTAL項目 五、測試 一、背景&#xff1a; 在啟動S7-PLCSIM Advanced V3.0仿真PLC時報錯&#xff0c;報錯信息為&#xff1a;>>Siemens PLCSIM Virtual Switch<<is misconfigu…