面試150——數組字符串

88. 合并兩個有序數組

給你兩個按 非遞減順序 排列的整數數組 nums1 和 nums2,另有兩個整數 m 和 n ,分別表示 nums1 和 nums2 中的元素數目。請你 合并 nums2 到 nums1 中,使合并后的數組同樣按 非遞減順序 排列。

倒序比較,避免覆蓋

26. 刪除有序數組中的重復項

class Solution {
public:int removeDuplicates(vector<int>& nums) {int slow = 0, fast = 1;for(; slow < nums.size() && fast < nums.size(); fast++) {if(nums[slow] == nums[fast]) continue;else{slow++;nums[slow] = nums[fast];}} return slow + 1;}
};

27. 移除元素

給你一個數組 nums 和一個值 val,你需要 原地 移除所有數值等于 val 的元素。元素的順序可能發生改變。然后返回 nums 中與 val 不同的元素的數量。

class Solution {
public:int removeElement(vector<int>& nums, int val) {int slow = 0;for(int fast = 0; fast < nums.size() && slow < nums.size(); fast++){if(nums[fast] == val) continue;else{nums[slow++] = nums[fast]; }}return slow++;}
};

169. 多數元素

給定一個大小為 n 的數組 nums ,返回其中的多數元素。多數元素是指在數組中出現次數 大于 ? n/2 ? 的元素。

根據以上推論,記數組首個元素為 n1 ,眾數為 x ,遍歷并統計票數。當發生 票數和 =0 時,剩余數組的眾數一定不變 ,這是由于:
當 n1=x : 抵消的所有數字中,有一半是眾數 x 。
當 n1!=x : 抵消的所有數字中,眾數 x 的數量最少為 0 個,最多為一半。
利用此特性,每輪假設發生 票數和 =0 都可以 縮小剩余數組區間 。當遍歷完成時,最后一輪假設的數字即為眾數。

class Solution {
public:int majorityElement(vector<int>& nums) {int x = 0, votes = 0;for (int num : nums){if (votes == 0) x = num;votes += num == x ? 1 : -1;}return x;}
};

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

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

相關文章

深入理解設計模式:命令模式詳解

在軟件開發中&#xff0c;我們經常遇到需要將"請求"或"操作"封裝成對象的情況。比如&#xff0c;GUI中的按鈕點擊、遙控器控制家電、事務系統中的操作回滾等場景。命令模式&#xff08;Command Pattern&#xff09;正是為解決這類問題而生的設計模式。本文…

自己寫的 MyHttpServlet 和直接繼承 HttpServlet 的區別

繼承你自己寫的 MyHttpServlet 和直接繼承 HttpServlet 的區別如下&#xff1a;1. 繼承 HttpServlet&#xff08;官方推薦用法&#xff09;HttpServlet 是 Java EE 官方提供的 Servlet 基類&#xff0c;已經實現了 Servlet 接口的大部分方法。它內部已經實現了 service() 方法&…

python庫 maya 庫的各種案例的使用詳解(人性化的日期時間處理)

文章目錄 一、Maya庫概述 1.1 maya介紹 1.2 安裝 maya 1.3 注意事項 二、基本使用 2.1 創建 MayaDT 對象 2.2 格式化輸出 2.3 時間運算 三、高級使用 3.1 時區處理 3.2 時間間隔 3.3 網絡時間獲取 四、實際應用示例 4.1 日志時間處理 4.2 會議時間提醒 4.3 國際化時間顯示 5. M…

企業選擇大帶寬服務器租用的原因有哪些?

大帶寬服務器作為各個行業使用較多的服務器類型&#xff0c;可以為企業提供更高的數據傳輸速率&#xff0c;極大縮短文件上傳與下載時間&#xff0c;對于大型文件&#xff0c;大帶寬服務器能夠將時間大幅縮減至數分鐘或數小時&#xff0c;提高企業整體的工作效率。大帶寬服務器…

使用canal同步分庫分表數據,到 Elasticsearch

作者&#xff1a;小凱 沉淀、分享、成長&#xff0c;讓自己和他人都能有所收獲&#xff01; 本文的宗旨在于通過簡單干凈實踐的方式教會讀者&#xff0c;配置出一套 Canal 工具服務&#xff0c;來同步分庫分表的數據到 Elasticsearch 文件夾系統中。同時在 SpringBoot 工程中&a…

氣候為何愈演愈“炙” — 未來五年高溫趨勢與 AI 氣象大模型的突破性價值

早、更準 代表性模型 主要特征 應用進展 GraphCast(DeepMind) 10 天全球預報;0.25 分辨率;< 1 min 推理 90 % 指標超 ECMWF HRES,已用于極端風暴提前鎖定Google DeepMind MetNet-3(Google Research) 1–4 km 分辨率;2 min 時序;24 h 區域精細預報 美東、歐洲已在 G…

LVS四種模式及部署NAT、DR模式集群

1、lvs簡介LVS:Linux Virtual Server&#xff0c;負載調度器&#xff0c;內核集成&#xff0c;章文嵩&#xff0c;阿里四層SLB(ServerLoadBalance)是基于LVSkeepalived實現LVS 官網: http://www.linuxvirtualserver.org/LVS 相關術語VS: Virtual Server&#xff0c;負責調度RS:…

【Linux】Ubuntu22.04安裝zabbix

官方文檔&#xff1a;zabbix安裝文檔 環境如下 環境版本nginx1.26.3zabbix7.0.16mysql8.0.41 安裝nginx和mysql 一鍵部署腳本 部署zabbix #!/bin/bash wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0ubuntu22.04_…

C++ - 仿 RabbitMQ 實現消息隊列--sqlite與gtest快速上手

目錄 SQLite 什么是 SQLite 為什么要用 SQLite SQLite3 C/C API 介紹 SQLite3 C/C API 使用 GTest GTest 是什么 GTest 使用 TEST 宏 斷言 事件機制 全局事件 TestSuite 事件 SQLite 什么是 SQLite SQLite 是一個進程內的輕量級數據庫&#xff0c;它實現了自給自足…

Web3.0 學習方案

Web3.0 學習方案 一、學習方案 &#xff08;一&#xff09;入門階段 1. 了解 Web3.0 基礎概念 學習內容&#xff1a; Web3.0 的起源、愿景、與 Web2.0 的區別區塊鏈的基本概念&#xff1a;分布式賬本、哈希、公鑰/私鑰、共識機制&#xff08;PoW、PoS、DPoS、PBFT 等&#xff0…

springboot3.5.3依賴學習

springboot3.5.3依賴學習 ? Spring Boot BOM&#xff08;spring-boot-dependencies&#xff09;是 Spring 官方維護的超級依賴清單&#xff0c;覆蓋了 Spring 生態中幾乎所有核心庫、常用工具庫及第三方依賴。其作用是統一管理這些依賴的版本&#xff0c;確保它們相互兼容。以…

制作一款打飛機游戲80:道具碰撞

目前我們仍然無法拾取這些物品&#xff0c;它們只是簡單地掉落在地上。因此&#xff0c;我們需要對這些功能進行增強。目標?彈射物品?&#xff1a;當物品生成時&#xff0c;我們希望它們能以一定的力量彈出&#xff0c;而不是無力地掉落。?添加不同類型的物品?&#xff1a;…

Python編程基礎(六)| 用戶輸入和while循環

引言 很久沒有寫 Python 了&#xff0c;有一點生疏。這是學習《Python 編程&#xff1a;從入門到實踐&#xff08;第3版&#xff09;》的課后練習記錄&#xff0c;主要目的是快速回顧基礎知識。 練習1&#xff1a;汽車租賃 編寫一個程序&#xff0c;詢問用戶要租什么樣的汽車&a…

【華為機試】HJ52 計算字符串的編輯距離

文章目錄HJ52 計算字符串的編輯距離描述輸入描述輸出描述示例1HJ52 計算字符串的編輯距離描述輸入描述輸出描述示例1解題思路算法分析動態規劃狀態轉移狀態轉移方程算法流程圖DP表格示例三種操作詳解代碼實現思路時間復雜度分析關鍵優化技巧實際應用場景算法擴展面試考點完整題…

15.手動實現BatchNorm(BN)

15.1 BatchNorm操作手動實現 import torch from torch import nndef batch_norm(X,gamma,beta,moving_mean,moving_var,eps,momentum):if not torch.is_grad_enabled():#這個是推理模式X_hat(X-moving_mean)/torch.sqrt(moving_vareps)else:assert len(X.shape) in (2,4)if le…

【項目實踐】SMBMS(Javaweb版)匯總版

文章目錄前期準備工作數據庫、數據表創建web項目創建項目文件目錄配置Tomcat&#xff0c;導入依賴建立實體類編寫基礎公共方法類導入基礎資源登錄功能登錄頁面持久層dao層的用戶登錄及接口實現dao層接口實現所需的方法業務層sevice層的接口的實現接口實現相關的業務邏輯編寫ser…

隱藏源IP的核心方案與高防實踐

一、源IP暴露的風險 直接DDoS攻擊&#xff1a;2025年Q2全球DDoS攻擊峰值達3.8Tbps&#xff08;來源&#xff1a;Cloudflare報告&#xff09;漏洞利用&#xff1a;暴露的SSH端口平均每天遭受12,000暴力破解嘗試數據泄露&#xff1a;直接連接數據庫風險提升300% 二、4種有效隱藏方…

深度學習圖像分類數據集—五種電器識別分類

該數據集為圖像分類數據集&#xff0c;適用于ResNet、VGG等卷積神經網絡&#xff0c;SENet、CBAM等注意力機制相關算法&#xff0c;Vision Transformer等Transformer相關算法。 數據集信息介紹&#xff1a;五種電器識別分類&#xff1a;[notebook, phone, powerbank, tablet, w…

Windows11家庭版配置frigate 嵌入自研算法(基于Yolov8)-【2】

使用 YOLOv8 的 results.xyxy 結構&#xff0c;下面是一個完整的 MQTT 推送腳本&#xff0c;用于把識別到的目標&#xff08;比如突涌水、水漬、障礙物等&#xff09;發送到 Frigate 的 MQTT 接口。? 前提假設 YOLOv8 推理代碼已經運行并生成 results.xyxy。每一行是 [x1, y1,…

安裝llama-factory報錯 error: subprocess-exited-with-error

報錯信息如下 Using cached https://mirrors.aliyun.com/pypi/packages/17/89/940a509ee7e9449f0c877fa984b37b7cc485546035cc67bbc353f2ac20f3/av-15.0.0.tar.gz (3.8 MB)Preparing metadata (pyproject.toml) ... errorerror: subprocess-exited-with-error Preparing metad…