C/C++---------------LeetCode第2540. 最小公共值

最小公共值

  • 題目及要求
  • 哈希算法
  • 雙指針

題目及要求

給你兩個整數數組 nums1 和 nums2 ,它們已經按非降序排序,請你返回兩個數組的 最小公共整數 。如果兩個數組 nums1 和 nums2 沒有公共整數,請你返回 -1 。

如果一個整數在兩個數組中都 至少出現一次 ,那么這個整數是數組 nums1 和 nums2 公共 的。

示例 1:

輸入:nums1 = [1,2,3], nums2 = [2,4]
輸出:2
解釋:兩個數組的最小公共元素是 2 ,所以我們返回 2 。
示例 2:

輸入:nums1 = [1,2,3,6], nums2 = [2,3,4,5]
輸出:2
解釋:兩個數組中的公共元素是 2 和 3 ,2 是較小值,所以返回 2 。

提示:

1 <= nums1.length, nums2.length <= 105
1 <= nums1[i], nums2[j] <= 109
nums1 和 nums2 都是 非降序 的。

哈希算法

思路:出現次數存入哈希表,然后再遍歷nums2檢查是否有重復的,然后將它輸出,因為這是一個非降序的所以它是遞增,輸出第一個重復的就是最小的公共整數

class Solution {
public:int getCommon(vector<int>& nums1, vector<int>& nums2) {unordered_map<int,int>hash;int n=nums1.size();for(auto num:nums1){++hash[num];// 將當前元素插入哈希表中,并將其對應的值加1}for(int i=0;i<nums2.size();i++){if(hash[nums2[i]]>0) // 如果當前元素在哈希表中存在return nums2[i];}return -1;}
};

雙指針

思路:因為兩個數組都已經排好序,全部指向第一個元素進行查照,找到第一個指針指向值相等的值即可

class Solution {
public:int getCommon(vector<int>& nums1, vector<int>& nums2) {int i=0,j=0;int n=nums1.size();int m=nums2.size();while(i<n&&j<m){if(nums1[i]<nums2[j])i++;else if(nums1[i]>nums2[j])j++;else if(nums1[i]==nums2[j])return nums1[i];}return -1;}
};

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

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

相關文章

categraf托管與自升級

categraf支持多種方式進行部署、托管&#xff0c;社區里部署和管理categraf也是五花八門&#xff0c;大家自己使用方便即可。 之前我們覺得大家通過ansible之類的工具批量下發/更新就能很簡單地完成任務&#xff0c;最近很多用戶咨詢我們關于categraf有沒有更方便的升級方式&am…

flink和機器學習模型的常用組合方式

背景 flink是一個低延遲高吞吐的系統&#xff0c;每秒處理的數據量高達數百萬&#xff0c;而機器模型一般比較笨重&#xff0c;雖然功能強大&#xff0c;但是qps一般都比較低&#xff0c;日常工作中&#xff0c;我們一般是如何把flink和機器學習模型組合起來一起使用呢? fli…

數據結構與算法【B樹】的Java實現+圖解

目錄 B樹 特性 實現 節點準備 大體框架 實現分裂 實現新增 實現刪除 完整代碼 B樹 也是一種自平衡的樹形數據結構&#xff0c;主要用于管理磁盤上的數據管理&#xff08;減少磁盤IO次數&#xff09;。而之前說的AVL樹與紅黑樹適合用于內存數據管理。存儲一個100w的數…

python每日一題——2字母異位詞分組

題目 給你一個字符串數組&#xff0c;請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。 字母異位詞 是由重新排列源單詞的所有字母得到的一個新單詞。 示例 1: 輸入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 輸出: [[“bat”],[“nat”…

新的centos7.9安裝jenkins—(一)

更多ruoyi-nbcio功能請看演示系統 gitee源代碼地址 前后端代碼&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后臺管理系統 因為是用java8&#xff0c;所以還是要最后java8版本的jenkins&#xff0c;版本號是2.346.3&#xff0c;后…

【Python】批量將PDG合成PDF,以及根據SS號重命名秒傳的文件

目錄 說明批量zip2pdf批量zip2pdf下載SS號重命名源代碼SS號重命名源代碼下載附錄&#xff0c;水文年鑒 說明 1、zip2pdf是一個開源軟件&#xff0c;支持自動化解壓壓縮包成PDG&#xff0c;PDG合成PDF&#xff0c;筆者在其基礎上做了部分修改&#xff0c;支持批量轉換。 2、秒…

【追求卓越11】算法--二叉樹

引導 接下來的幾節我們開始介紹非線性的數據結構--樹。樹的內容比較多也比較復雜。本節&#xff0c;我們只需要了解關于樹的一些基本概念。以及再進一步了解樹的相關內容--搜索二叉樹。該類型二叉樹在工作中&#xff0c;是我們常接觸的。該節我們介紹關于搜索二叉樹的相關操作&…

【華為數通HCIP | 網絡工程師】821-IGP高頻題、易錯題之OSPF(2)

個人名片&#xff1a; &#x1f43c;作者簡介&#xff1a;一名大三在校生&#xff0c;喜歡AI編程&#x1f38b; &#x1f43b;???個人主頁&#x1f947;&#xff1a;落798. &#x1f43c;個人WeChat&#xff1a;hmmwx53 &#x1f54a;?系列專欄&#xff1a;&#x1f5bc;?…

計算機中msvcr120.dll丟失怎樣修復?親測有效的5種方法分享

在計算機使用過程中&#xff0c;我們經常會遇到一些錯誤提示&#xff0c;其中之一就是“msvcr120.dll丟失”。這個錯誤通常會導致某些應用程序無法正常運行。那么&#xff0c;當我們遇到這個問題時&#xff0c;應該如何修復呢&#xff1f;本文將詳細介紹msvcr120.dll丟失的解決…

人工智能今天能為你做什么?生成式人工智能如何改變技術文檔領域

▲ 搜索“大龍談智能內容”關注GongZongHao▲ 作者 | Fabrice Lacroix 大型語言模型&#xff08;LLM&#xff09;和生成式人工智能&#xff08;GenAI&#xff09;&#xff0c;尤其是ChatGPT&#xff0c;這些是引領科技革新的新興技術。它們不僅在科技界引起了軒然大波&#x…

Web 自動化神器 TestCafe(三)—用例編寫篇

一、用例編寫基本規范 1、 fixture 測試夾具 使用 TestCafe 編寫測試用例&#xff0c;必須要先使用 fixture 聲明一個測試夾具&#xff0c;然后在這個測試夾具下編寫測試用例&#xff0c;在一個編寫測試用例的 js 或 ts 文件中&#xff0c;可以聲明多個測試夾具 fixture(測試…

【C++11】default、delete與Noncopyable

C11 oop中的default、delete與Noncopyable default 在C11標準中&#xff0c;可以使用default關鍵字來顯式地聲明默認的構造函數和析構函數。 使用default關鍵字可以用來顯式聲明默認的構造函數和析構函數。這樣做可以讓編譯器自動生成默認實現 –>->->關于構造函數…

計數排序+桶排序+基數排序 詳講(思路+圖解+代碼詳解)

文章目錄 計數排序桶排序基數排序一、計數排序概念&#xff1a;寫法一&#xff1a;寫法二&#xff1a; 二、桶排序概念代碼 三、基數排序概念1.LSD排序法&#xff08;最低位優先法&#xff09;2.MSD排序法&#xff08;最高位優先法&#xff09; 基數排序VS基數排序VS桶排序 計數…

內容營銷頻頻出圈,這些品牌號做對了什么?

小紅書擁有大量的年輕用戶&#xff0c;通過運營品牌號既能降低投放成本&#xff0c;又能更好地連接消費者和品牌&#xff0c;在平臺完成一站式閉環營銷。 今天就借助幾個成功案例&#xff0c;來分析下他們是如何搭建官方賬號&#xff0c;通過內容運營吸引更多用戶&#xff0c;實…

一款專為POS機設計的芯片解決方案

一、基本概述 HCM8003設計用于磁條讀卡器系統。它會從F/2F恢復時鐘和數據信號磁產生的數據流頭HCM8003將用于數據速率從200到15000比特每秒。 二、典型電路 內部數據的采集和跟蹤這個范圍是自動的。可以應用于POS機終端設備、磁卡門禁系統、身份識別等場合。 三、引腳定義 四…

redis的主從復制,哨兵模式

1.主從復制 主從復制&#xff1a;主從復制是redis實現高可用的基礎&#xff0c;哨兵模式和集群都是在主從復制的基礎之上實現高可用 主從復制實現數據的多機備份&#xff0c;以及讀寫分離&#xff08;主服務器負責寫&#xff0c;從服務器只能讀&#xff09; 缺陷&#xff1a…

PyTorch基本操作和工作流程

1. PyTorch基礎 張量&#xff08;Tensors&#xff09;&#xff1a; 學習 PyTorch 中表示數據的基本單元。了解如何創建、操作和使用張量。 自動微分&#xff08;Autograd&#xff09;&#xff1a; 了解 PyTorch 的自動微分機制&#xff0c;這是訓練神經網絡的核心。 模型定義…

Android registerForActivityResults使用詳解以及實現原理

registerForActivityResult 使用用途是監聽Activity結果。 以下是使用樣例 //需要傳遞Request用于解析Intent和解析上個Activity返回的結果 val launchdata = registerForActivityResult<PickVisualMediaRequest, Uri?>(ActivityResultContracts.PickVisualMedia()) {…

中國人工智能系列白皮書 AIGC

https://www.caai.cn/index.php?s/home/article/detail/id/3188.html

【git】使用ssh

前言 git之前一直使用https&#xff0c;因為很方便隨時隨地都可以用。最近把代碼托管到GitHub&#xff0c;使用https就使用不了。后面聽同事說GitHub使用ssh是沒問題的&#xff0c;就想著嘗試一下。 git ssh配置 設置用戶名和郵箱 git config --global use.name username g…