2024.09.20 leetcode刷題記錄

# 前言

? ? ? ? 昨天發布了第一遍博客,感覺很好,趁著我現在還是很感興趣就多發幾遍,希望能堅持下去,在這里記錄下自己學習成長的經歷。

? ? ? ? 今天是周五,下周一就又要去實習啦,距離上一段實習剛結束一個月,之前的是運維實習,這次找了開發的實習,目前是又期待又害怕(害怕啥都不會),總之還是去試試吧。最近在學go語言,今天不想往下學,那就刷刷題吧,打算先把面試150題刷完。


# 開始刷題

383.贖金信:

https://leetcode.cn/problems/ransom-note/description/?envType=study-plan-v2&envId=top-interview-150

?????????思路很簡單,就是先遍歷一遍magazine,在哈希表中統計一下各個單詞出現的次數,統計完后再去遍歷一遍ransomNote,出現的字符再map中--就行了,若中--map[c] < 0 那就是無法構造出ransomNote,直接返回false就行。

????????我本來還在用if (map[c].count()>0) {map[c]++;} else {map[c] = 1;}這種寫法,看了題解之后發現可以直接寫成++map[c],代碼瞬間清晰很多。

class Solution
{
public:bool canConstruct(string ransomNote, string magazine){if (ransomNote.size() > magazine.size()){return false;}unordered_map<char, int> map;for (char c : magazine){++map[c];}for (char c : ransomNote){if (--map[c] < 0){return false;}}return true;}
};

題解中還出了一種利用定長數組去代替哈希表的方法,感覺很好,比哈希表省空間。

class Solution
{
public:bool canConstruct(string ransomNote, string magazine){if (ransomNote.size() > magazine.size()){return false;}vector<int> v(26);for (auto &c : magazine){v[c - 'a']++;}for (auto &c : ransomNote){if (--v[c - 'a'] < 0){return false;}}return true;}
};

205、同構字符串

https://leetcode.cn/problems/isomorphic-strings/description/?envType=study-plan-v2&envId=top-interview-150

這道題是簡單題,我一開始確實想簡單了,我只用了一個哈希表,去判斷s與t是不是一一對應,結果卻始終通不過。

最后看了題解,才知道要完成雙射,即s-t 和t-s ,為何呢?要不會出現下面這種情況

a b c b a

e e d e e? ? ? ? a,b都對應上e的話,僅僅依靠單射,也是可以的,但題目明確說明了一個字符只能對應一個字符,所以要完成雙射判斷。

下面代碼是我抄的leetcode官方題解:

class Solution
{
public:bool isIsomorphic(string s, string t){unordered_map<char, char> s2t;unordered_map<char, char> t2s;int len = s.length();for (int i = 0; i < len; ++i){char x = s[i], y = t[i];if ((s2t.count(x) &&s2t[x] != y) ||t2s.count(y) && t2s[y] != x){return false;}s2t[x] = y;t2s[y] = x;}return true;}
};


# 結尾?

? ? ? ? 今天就先到這把,雖然兩個有點少,還都是有關哈希表的簡單題,因為我接下來想要研究一下github,創建一個自己的git倉庫。

? ? ? ? 今天晚上還和舍友約了自助餐,吃完之后再去看一下實習期間要租的小屋,今天還是挺忙的,就到這里吧。

? ? ? ? 最后再分享一句《我的團長我的團》里的一句話:死都不怕,就怕不安逸,命都不要,就要安逸,一起共勉。

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

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

相關文章

SQLite3 中列(變量)的特殊屬性

在 SQLite3 中&#xff0c;列的特殊屬性通常通過約束&#xff08;Constraints&#xff09;和數據類型修飾符來定義。這些屬性可以在創建表時指定&#xff0c;用于限制數據的完整性或定義特殊行為。以下是 SQLite3 支持的主要特殊屬性及其說明&#xff1a; 1. 主鍵約束&#xff…

Datawhale AI 夏令營:用戶洞察挑戰賽 Notebook(2)

針對文本聚類優化 優化TF-IDF特征工程# 調整ngram_range&#xff1a;設置為(1, 2)&#xff0c;捕捉單字和雙字詞&#xff08;如“不錯”“不滿意”&#xff09;。 # 限制特征數量&#xff1a;通過max_features5000保留高信息密度特征&#xff0c;降低維度。 # 過濾低頻/高頻詞&…

【博主親測可用】PS2025最新版:Adobe Photoshop 2025 v26.8.1 激活版(附安裝教程)

軟件簡介 Adobe Photoshop 2025是Adobe公司開發的一款圖像處理軟件。作為行業標準的數字圖像編輯工具&#xff0c;其核心定位是創意設計、后期攝影、3D建模和AI驅動創作&#xff0c;適用于專業設計師、攝影師、插畫家和多媒體創作者。界面設計簡單直觀&#xff0c;易于操作&…

unity A星尋路

算法 fCost gCost hCost gCost 是當前節點到移動起始點的消耗&#xff0c;hCost是當前節點到終點的消耗 網格為變成為1的矩形&#xff0c;左右相鄰的兩個網格直接的gCost為1&#xff0c;斜對角相鄰的兩個網格的gCost為1.4 hCost 當前網格到終點網格的 水平距離 垂直距離 比如…

十一 Javascript的按值傳遞

你將知道&#xff1a;“傳遞” 值是什么意思什么是按值傳遞傳遞物品JavaScript 中沒有傳遞引用&#xff01;介紹當需要在 JavaScript 中分配或簡單地將一個值傳遞給其他標識符時&#xff0c;我們就會看到通常所說的 按值傳遞 。嚴格來說&#xff0c;JavaScript 中傳遞值的方式只…

SpringBoot ThreadLocal 全局動態變量設置

需求說明&#xff1a; 現有一個游戲后臺管理系統&#xff0c;該系統可管理多個大區的數據&#xff0c;但是需要使用大區id實現數據隔離&#xff0c;并且提供了大區選擇功能&#xff0c;先擇大區后展示對應的數據。需要實現一下幾點&#xff1a; 1.前端請求時&#xff0c;area_i…

如何解決pip安裝報錯ModuleNotFoundError: No module named ‘logging’問題

【Python系列Bug修復PyCharm控制臺pip install報錯】如何解決pip安裝報錯ModuleNotFoundError: No module named ‘logging’問題 摘要&#xff1a; 在使用 PyCharm 2025 控制臺通過 pip install 安裝第三方庫時&#xff0c;常會遇到諸如 ModuleNotFoundError: No module name…

打破技術債困境:從“保持現狀”到成為變革的推動者

相信許多在科技行業的同行都面臨過類似的挑戰&#xff1a;明知系統存在“技術債”&#xff0c;卻因為溝通成本、團隊壓力和短期KPI等原因&#xff0c;難以推動改進&#xff0c;最終陷入“想做卻不敢做”的矛盾心態。這不僅影響個人心情&#xff0c;更重要的是&#xff0c;它像一…

Spring Boot 整合 RabbitMQ

Spring Boot 整合 RabbitMQ 一、概述&#xff1a;RabbitMQ 是什么&#xff1f; 你可以把 RabbitMQ 想象成一個「快遞中轉站」。 比如你在網上買了一本書&#xff0c;賣家&#xff08;生產者&#xff09;把包裹&#xff08;消息&#xff09;交給快遞站&#xff08;RabbitMQ&…

Unity Demo-3DFarm詳解-其一

我們來拆解一個種田游戲&#xff0c;這個游戲種類內部的功能還是比較模板化的&#xff0c;我們來一點點說。我們大體上分為這么幾個部分&#xff1a;農場運營玩法角色與玩家互動物品與背包存檔和進度管理用戶界面系統農場運營可以大體上分為&#xff1a;種植系統&#xff1a;支…

esp8266驅動下載

問題描述&#xff1a;esp8266插上電腦&#xff0c;設備管理器無法識別&#xff0c;顯示為USB serial&#xff08;黃色感嘆號&#xff09; 首先確認你的esp8266是不是 CH340 系列的 USB 轉串口芯片 CH340驅動下載地址

大語言模型的極限:知識、推理與創造力的邊界探析

大語言模型的極限&#xff1a;知識、推理與創造力的邊界探析 人工智能領域的快速發展推動了大語言模型&#xff08;LLM&#xff09;的廣泛應用&#xff0c;這些模型在文本生成、知識問答和創意表達等方面展現出前所未有的能力。然而&#xff0c;隨著應用場景的深化&#xff0c;…

git中的fork指令解釋

在Git中&#xff0c;Fork 是指將他人的代碼倉庫&#xff08;Repository&#xff09;復制到自己的賬戶下&#xff0c;創建一個完全獨立的副本[1][2]。以下是關于Fork的詳細說明&#xff1a; Fork的定義與核心作用 定義&#xff1a;Fork是代碼托管平臺&#xff08;如GitHub&#…

iPhone 抓包工具有哪些?多工具對比分析優缺點

iOS 平臺一向以安全性著稱&#xff0c;這也使得對其進行網絡調試和抓包變得異常困難。相比安卓&#xff0c;iPhone 抓包難點主要在以下幾點&#xff1a; 系統限制代理設置的靈活性無法自由安裝根證書抓包常涉及 HTTPS 解密與雙向認證破解普通用戶設備無 root 或越獄權限 因此&a…

使用 libcu++ 庫

文章目錄使用 libcu 庫安裝與設置基本組件1. 原子操作2. 內存管理3. 類型特性4. 同步原語編譯選項注意事項使用 libcu 庫 libcu 是 NVIDIA 提供的 CUDA C 標準庫實現&#xff0c;它為 CUDA 開發者提供了類似 C 標準庫的功能和接口。以下是使用 libcu 的基本指南&#xff1a; …

[Leetcode] 預處理 | 多叉樹bfs | 格雷編碼 | static_cast | 矩陣對角線

魔術排列模擬一個特定的洗牌過程&#xff0c;并找到使得經過一系列洗牌和取牌操作后&#xff0c;能夠與給定的目標數組target相匹配的最小k值核心思想: 預處理初始排列&#xff1a;從一個按順序排列的數組&#xff08;例如&#xff0c;{1, 2, 3, ..., n}&#xff09;開始。洗牌…

【技術追蹤】SynPo:基于高質量負提示提升無訓練少樣本醫學圖像分割性能(MICCAI-2025)

SAM 新用法&#xff0c;無需訓練&#xff0c;利用高質量負提示提升分割性能~ 論文&#xff1a;SynPo: Boosting Training-Free Few-Shot Medical Segmentation via High-Quality Negative Prompts 代碼&#xff1a;https://liu-yufei.github.io/synpo-project-page/ 0、摘要 大…

深入理解機器學習

一.前言本章節開始來講解一下機器學習的知識&#xff0c;本期作為一個了解就大概介紹一下&#xff0c;我們不會從機器學習基礎開始介紹&#xff0c;但是后面會來補充&#xff0c;隨著ai的不斷發展&#xff0c;機器學習在ai的領域里面的占比越來約少&#xff0c;我們還是以應用為…

數據結構 順序表(1)

目錄 1.線性表 2.順序表 1.線性表 線性表&#xff08;linear list&#xff09;是n個具有相同特性的數據元素的有限序列。線性表是一種在實際中廣泛使用 的數據結構&#xff0c;常見的線性表&#xff1a;順序表、鏈表、棧、隊列、字符串… 線性表在邏輯上是線性結構&#…

openssl 生成國密證書

openssl生成證書生成CA私鑰 openssl ecparam -genkey -name SM2 -out ca.key.pem -noout證書請求 openssl req -new -key ca.key.pem -out ca.cert.req -subj “/CNrtems-strongswan-CA”生成證書 openssl x509 -req -days 3650 -in ca.cert.req -signkey ca.key.pem -out ca.c…