HOT97-多數元素

? ? ? ? leetcode原題鏈接:多數元素

題目描述

? ? ? ? 給定一個大小為?n?的數組?nums?,返回其中的多數元素。多數元素是指在數組中出現次數?大于?? n/2 ??的元素。你可以假設數組是非空的,并且給定的數組總是存在多數元素。

示例?1:

輸入:nums = [3,2,3]
輸出:3

示例?2:

輸入:nums = [2,2,1,1,1,2,2]
輸出:2

提示:

  • n == nums.length
  • 1 <= n <= 5 * 104
  • -109 <= nums[i] <= 109

進階:嘗試設計時間復雜度為 O(n)、空間復雜度為 O(1) 的算法解決此問題。

解題方法:用兩個變量分別保存結果result和當前正在掃描的某一個數字的總數count。

1. 遍歷數組,當遇到跟結果變量result相同的數字時加一,遇到跟result不同的數字時減一。

2. 當count為0的時候,重新更新result的值。

C++代碼

#include <iostream>
#include <vector>class Solution {
public:int majorityElement(std::vector<int>& nums) {int n = nums.size();if (n == 0) {return -1;}int result = 0;int count = 0; //記錄當前未被消除的數字for (auto num : nums) {if (count == 0) { // 每次優勢票清0后,重新選舉新的元素result = num;count++;} else if (num == result) { //count不等于0,且當前掃描的元素是優勢票,則繼續加強優勢票的計數count++;} else { // count不等于0,且當前掃描的元素非優勢票,則削弱優勢票的計數count--;}}return result;}
};

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

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

相關文章

基于java的Word自動出題系統設計與實現

摘 要&#xff1a; 學校作為社會之中最大的人才的培養和過度的機構&#xff0c;源源不斷的為社會的發展提供者各種各樣的人才。它不僅教授學生知識還教授他們一些在社會之中生存的本領和社會之中的道德規范&#xff0c;并且約束他們的行為。在我國現行的教育體系之中&#xff0…

【量化課程】02_3.投資學基礎概念

文章目錄 1. 投資和投資學的關系1.1 什么是投資&#xff1f;1.2 什么是投資學&#xff1f; 2. 投資學的主要內容2.1 金融市場與投資環境2.1.1 金融資產2.1.2 債券市場的意義2.1.3 金融市場與經濟2.1.4 投資過程2.1.5 競爭性的市場2.1.6 市場參與者2.1.7 主要的市場債券市場外匯…

Stable Diffusion 插件開發經驗

Stable Diffusion近來大熱,但是插件開發的資料少之又少。 這里提供一些插件開發的經驗,可供參考。 1.替換啟動頁。 如果你想要在運行Stable Diffusion的基礎上想要一些獨有的操作,不想要進行裁剪,直接替換啟動頁面,那么就需要在webui中進行替換 這里modules.ui.create_ui…

1.4 數據庫管理與優化

數據庫管理與優化 文章目錄 數據庫管理與優化1. 數據庫概述1.1 數據庫的定義和作用1.2 數據庫管理系統&#xff08;DBMS&#xff09; 2. 數據庫模型2.1 關系型數據庫**2.2 非關系型數據庫 3. 數據庫設計3.1 數據庫設計原則3.2 數據庫設計步驟 4. 數據庫優化4.1 數據庫性能優化4…

基于ipad協議的gewe框架進行微信群組管理(二)

友情鏈接 geweapi.com 點擊訪問即可。 獲取群組詳情 小提示&#xff1a; 該接口可以一次查詢20個群組查詢出來的信息是不帶公告的 請求URL&#xff1a; http://域名地址/api/group/detail 請求方式&#xff1a; POST 請求頭&#xff1a; Content-Type&#xff1a;applica…

2009年下半年 軟件設計師 上午試卷

博主介紹&#xff1a;?全網粉絲3W&#xff0c;全棧開發工程師&#xff0c;從事多年軟件開發&#xff0c;在大廠呆過。持有軟件中級、六級等證書。可提供微服務項目搭建與畢業項目實戰&#xff0c;博主也曾寫過優秀論文&#xff0c;查重率極低&#xff0c;在這方面有豐富的經驗…

【Microsoft 支持】【數據庫-MySql】當您嘗試從大于 5000 的 TCP 端口連接時收到錯誤 WSAENOBUFS (10055)

? 一、轉載原文 When you try to connect from TCP ports greater than 5000 you receive the error ‘WSAENOBUFS (10055)’ Symptoms If you try to set up TCP connections from ports that are greater than 5000, the local computer responds with the following WSAE…

使用PHP實現實時聊天功能的匿名聊天與加密傳輸

使用PHP實現實時聊天功能的匿名聊天與加密傳輸 隨著互聯網的發展&#xff0c;人與人之間的交流方式也發生了天翻地覆的變化。其中&#xff0c;實時聊天功能成為了一種越來越受歡迎的交流方式。對于很多網站來說&#xff0c;提供匿名聊天功能能夠吸引更多的用戶參與&#xff0c…

如何使用Spark/Flink等分布式計算引擎做網絡入侵檢測

如何使用Spark/Flink等分布式計算引擎做網絡入侵檢測 引言16 Distributed Abnormal Behavior Detection Approach Based on Deep Belief Network and Ensemble SVM Using Spark17 Spark configurations to optimize decision tree classification on UNSW-NB1518 A dynamic spa…

SOLIDWORKS PDM—文件版本的管控

SOLIDWORKS產品數據管理 (PDM) 解決方案可幫助您控制設計數據&#xff0c;并且從本質上改進您的團隊就產品開發進行管理和協作的方式。使用 SOLIDWORKS PDM Professional&#xff0c;您的團隊能夠&#xff1a;1. 安全地存儲和索引設計數據以實現快速檢索&#xff1b;2. 打消關于…

使用QT可視化設計對話框詳細步驟與代碼

一、創建對話框基本步驟 創建并初始化子窗口部件把子窗口部件放到布局中設置tab鍵順序建立信號-槽之間的連接實現對話框中的自定義槽 首先前面三步在這里是通過ui文件里面直接進行的&#xff0c;剩下兩步則是通過代碼來實現 二、項目創建詳細步驟 創建新項目 為項目命名 為…

深度思考rpc框架面經系列之二

此篇總結是接上一篇做的&#xff0c;當然&#xff0c;獨立看也是可以的&#xff0c;這幾個系列講解的是rpc框架的不同方面 4 序列化和反序列化&#xff08;阿里一面&#xff09; 4.1 為什么要序列化呢&#xff0c;解決什么問題呢&#xff1f;序列化和反序列化也是要消耗一定性…

VScode如何設置中文教程

前言&#xff1a;打開VSCode軟件&#xff0c;可以看到剛剛安裝的VSCode軟件默認使用的是英文語言環境&#xff0c;但網上都是vscode中文界面教你怎么設置中文&#xff0c;可能不利于小白閱讀&#xff0c;所以重裝vscode&#xff0c;手摸手從英文變成中文。 設置為中文 打開VS…

CDH6.3.2搭建HIVE ON TEZ

參考 https://blog.csdn.net/ly8951677/article/details/124152987 ----配置hive運行引擎 在/etc/hive/conf/hive-site.xml中修改如下&#xff1a; hive.execution.engine mr–>tez hive.execution.engine 設為tez或者運行代碼的時候&#xff1a; set hive.execution.eng…

android app控制ros機器人五(百度地圖)

半吊子改安卓&#xff0c;新增了標簽頁&#xff0c;此標簽頁需要顯示百度地圖 按照官方教程注冊信息&#xff0c;得到訪問應用AK&#xff0c;步驟也可以參照下面csdn Android地圖SDK | 百度地圖API SDK 【Android】實現百度地圖顯示_賓有為的博客-CSDN博客 本人使用的是aar開…

區分多個鼠標的滾輪滾動消息

實現功能&#xff1a;電腦插了兩個或多個鼠標&#xff0c;程序中需要區分不同鼠標的滾輪滾動消息。 實現方式&#xff1a;直接上代碼&#xff0c;復制粘貼可用&#xff0c;具體處理邏輯可以根據實際需求進行修改和擴展&#xff0c;請注意&#xff0c;這段代碼是在Windows操作系…

Python 圖形界面框架TkInter(第八篇:理解pack布局)

前言 tkinter圖形用戶界面框架提供了3種布局方式&#xff0c;分別是 1、pack 2、grid 3、place 介紹下pack布局方式&#xff0c;這是我們最常用的布局方式&#xff0c;理解了pack布局&#xff0c;絕大多數需求都能滿足。 第一次使用pack&#xff08;&#xff09; import …

學習筆記整理-DOM-02-事件監聽

一、什么是"事件監聽" DOM允許書寫JavaScript代碼以讓HTML元素對事件作出反應什么是"事件": 用戶與網頁的交互動作當用戶點擊元素時當鼠標移動到元素上時當文本框的內容被改變時當鍵盤在文本框中被按下時當網頁已加載完畢時… “監聽”&#xff0c;顧名思義…

開學季電容筆怎么選?iPad第三方電容筆了解下

不少的學生黨開學必備清單里都少不了電容筆&#xff0c;可見其的重要性。自從蘋果發布了ipad的原裝電容筆以來&#xff0c;這款電容筆在目前市面上就一直很受歡迎&#xff0c;不過由于Apple Pencil的售價實在是太貴了&#xff0c;使得大部分人都買不起。于是&#xff0c;市面上…

leetcode做題筆記78子集

給你一個整數數組 nums &#xff0c;數組中的元素 互不相同 。返回該數組所有可能的子集&#xff08;冪集&#xff09;。 解集 不能 包含重復的子集。你可以按 任意順序 返回解集。 思路一&#xff1a;回溯 void backtracking(int* nums, int numsSize, int** res, int* ret…