leetcode - hot100 - python - 專題一:哈希

1、兩數之和

  • 簡單

題目:
給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標值 target 的那 兩個 整數,并返回它們的數組下標。你可以假設每種輸入只會對應一個答案,并且你不能使用兩次相同的元素。你可以按任意順序返回答案。

  • 示例 1:
    輸入:nums = [2,7,11,15], target = 9
    輸出:[0,1]
    解釋:因為 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
  • 示例 2: 輸入:nums = [3,2,4], target = 6 輸出:[1,2]
  • 示例 3: 輸入:nums = [3,3], target = 6 輸出:[0,1]
  • 題解:
class Solution(object):def twoSum(self, nums, target):""":type nums: List[int]:type target: int:rtype: List[int]"""self.nums=numsself.target=targetfor i in range(0,len(self.nums)-1):for j in range(i+1,len(self.nums)):if self.nums[i]+self.nums[j]==self.target:return [i,j]

2、字母異位詞分組

  • 中等

給你一個字符串數組,請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。
字母異位詞 是由重新排列源單詞的所有字母得到的一個新單詞。
示例

  • 示例 1: 輸入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 輸出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]
  • 示例 2: 輸入: strs = [“”] 輸出: [[“”]]
  • 示例 3: 輸入: strs = [“a”] 輸出: [[“a”]]
  • 題解
class Solution(object):def groupAnagrams(self, strs):""":type strs: List[str]:rtype: List[List[str]]"""if len(strs)==1:return [strs]dict = {}for i in strs:ss=str(sorted(i))if ss not in dict:dict[ss]=[i]else:dict[ss].append(i)return list(dict.values())

3、最長連續序列

  • 中等

給定一個未排序的整數數組 nums ,找出數字連續的最長序列(不要求序列元素在原數組中連續)的長度。
請你設計并實現時間復雜度為 O(n) 的算法解決此問題。

  • 示例 1: 輸入:nums = [100,4,200,1,3,2] 輸出:4 解釋:最長數字連續序列是 [1, 2, 3, 4]。它的長度為 4。
  • 示例 2: 輸入:nums = [0,3,7,2,5,8,4,6,0,1] 輸出:9
  • 示例 3: 輸入:nums = [1,0,1,2] 輸出:3
class Solution(object):def longestConsecutive(self, nums):""":type nums: List[int]:rtype: int"""res=set(nums) # 將 nums 轉化為 set (去重,排序)rns=0 # 存儲最大長度 for n in res:if n-1 not in res:length=1while n+1 in res:length+=1n+=1rns=max(length,rns)return rns# res=0# dic={} # 鍵代表num,值代表它的長度# for i in nums:#     if i not in dic:#         left=dic.get(i-1,0)#         right=dic.get(i+1,0)#         cur=left+1+right#         res=max(res,cur)#         dic[i]=cur#         dic[i-left]=cur#         dic[i+right]=cur# return res# class Solution:
#     # def longestConsecutive(self, nums: List[int]) -> int:
#     def longestConsecutive(self, nums):
#         longest_streak = 0
#         num_set = set(nums)#         for num in num_set:
#             if num - 1 not in num_set:
#                 current_num = num
#                 current_streak = 1#                 while current_num + 1 in num_set:
#                     current_num += 1
#                     current_streak += 1#                 longest_streak = max(longest_streak, current_streak)#         return longest_streak

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

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

相關文章

JavaEE-SpringBoot快速入門

文章目錄 本節目標Maven什么是Maven創建一個Maven項目maven項目功能maven的依賴管理全球倉庫, 私服, 本地服務器, 配置國內鏡像 第一個SpringBoot項目創建項目運行SpringBoot程序 SpringBoot原理初步Web服務器 總結 本節目標 了解什么是maven, 配置國內源使用Springboot創建項…

【Viper】配置格式與支持的數據源與go案例

Viper 是一個用于 Go 應用程序的配置管理庫,支持多種配置格式和數據源。 安裝依賴 go get github.com/spf13/viper go get github.com/spf13/viper/remote go get go.etcd.io/etcd/client/v3"github.com/spf13/viper/remote"要寫在etcd客戶端import里 1…

【C/C++】后綴表達式 藍橋杯/ACM備賽

核心考點:1.棧的應用 2.字符串處理 題目描述 所謂后綴表達式是指這樣的一個表達式:式中不再引用括號,運算符號放在兩個運算對象之后,所有計算按運算符號出現的順序,嚴格地由左而右新進行(不用考慮運算符的…

【AI實踐】deepseek支持升級git

當前Windows 11 WSL的git是2.17,Android Studio提示需要升級到2.19版本 網上找到指導文章 安裝git 2.19.2 cd /usr/src wget https://www.kernel.org/pub/software/scm/git/git-2.19.2.tar.gz tar xzf git-2.19.2.tar.gz cd git-2.19.2 make prefix/usr/l…

QEMU 搭建 Ubuntu x86 虛擬機

1. 安裝 QEMU 在 Ubuntu 系統中,可以通過以下命令安裝 QEMU: sudo apt-get update sudo apt-get install qemu-system-x86_64 qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager2. 創建虛擬硬盤鏡像 qemu-img create -f raw ubuntu…

Linux驅動層學習:Linux 設備樹

設備樹是一種數據結構,包含多個節點,用于描述硬件設備及其配置信息,它通常用于嵌入式系統中,尤其是在Linux操作系統中,幫助操作系統識別和管理硬件資源,設備樹不是代碼,而是一種用數據描述硬件信…

金蝶云星空與釘釘高效數據集成案例分享

金蝶云星空數據集成到釘釘的技術案例分享 在企業信息化系統中,數據的高效流動和實時反饋是提升業務效率的關鍵。本文將聚焦于一個具體的系統對接集成案例:如何將金蝶云星空的數據集成到釘釘,并實現審核狀態的回傳提示。 本次集成方案名為“…

圖形渲染(一)——Skia、OpenGL、Mesa 和 Vulkan簡介

1.Skia —— 2D 圖形庫 Skia 是一個 2D 圖形庫,它的作用是為開發者提供一個高層次的繪圖接口,方便他們進行 2D 圖形渲染(比如繪制文本、形狀、圖像等)。Skia 本身不直接管理 GPU 或進行底層的渲染工作,而是通過 底層圖…

GIT提錯分支,回滾提交

1. 準備示例 假設我們有三次提交: test1:需要在 master 分支提交test2、test3:需要在 develop 分支提交 遠端線上記錄 2. 步驟 選擇需要回退的記錄: 選中需要回退的 commit,選擇 Reset Current Branch to Here...。…

【原創】在ubuntu中搭建gradle開發環境

檢查Linux版本 rootwww:~# hostnamectlStatic hostname: www.0x88.comIcon name: computer-vmChassis: vmMachine ID: 30fa955a36be492ca459599ef20bc508Boot ID: 37084dbe36f44adaa075e8f9a98f132eVirtualization: kvm Operating System: Ubuntu 22.04.5 LTSKernel: Linux 5.…

【JavaEE進階】MyBatis入門

目錄 🌴前言 🌲什么是MyBatis? 🌳準備工作 🚩創建工程 🚩配置數據庫連接字符串 🚩數據準備 🚩編寫持久層代碼 🍃單元測試 🌴前言 在應?分層學習時,我們了解到…

以太網詳解(八)傳輸層協議:TCP/UDP 協議

文章目錄 傳輸層協議概述為什么需要傳輸層?傳輸層功能網絡層與傳輸層在實現 “端到端” 傳輸的異同兩類服務:面向連接/無連接服務 傳輸控制協議 TCPTCP 協議數據單元格式TCP 的重傳機制快重傳和快恢復快重傳舉例快恢復算法 用戶數據報協議 UDPUDP 概述UDP 基本工作過…

Electron 客戶端心跳定時任務調度庫調研文檔 - Node.js 任務調度庫技術調研文檔

Electron 客戶端心跳定時任務調度庫調研文檔 - Node.js 任務調度庫技術調研文檔 本文將對七個流行的定時任務調度庫:node-cron、rxjs、bull、node-schedule、agenda、bree、cron。這些庫都可以用來處理定時任務,但它們的特點和適用場景有所不同。我們將從…

DeepSeek 開放平臺無法充值 改用其他平臺API調用DeepSeek-chat模型方法

近幾天DeepSeek開放平臺無法充值目前已經關閉狀態,大家都是忙著接入DeepSeek模型 ,很多人想使用DeepSeek怎么辦? 當然還有改用其他平臺API調用方法,本文以本站的提供chatgpt系統為例,如何修改DeepSeek-chat模型API接口…

pix2text 使用經驗

給同行打雞血 😊 構建結構化的數理領域知識庫: 提高可訪問性和可搜索性 Markdown和LaTeX格式:這兩種格式易于在線發布和共享,有助于提高數學內容的可訪問性。搜索引擎優化:將PDF內容轉換為標記語言,可以…

Linux(centos)系統安裝部署MySQL8.0數據庫(GLIBC版本)

安裝前檢查服務器glibc版本,下載對應版本包 rpm -qa | grep glibc mysql安裝包及依賴包已整理好,下載地址:https://pan.quark.cn/s/3137acc814c0,下載即可安裝 一、下載MySQL mysql安裝包及依賴包已整理好,下載地址…

6.2.圖的存儲結構-鄰接矩陣法

一.鄰接矩陣法存儲不帶權圖: 結點不帶權值: 1.左圖的無向圖中,A到B直達的有一條路,所以A行B列的值為1; 左圖的無向圖中,A到F沒有直達的路,所以A行F列的值為0; 結論:無…

【VB語言】EXCEL中VB宏的應用

【VB語言】EXCEL中VB宏的應用 文章目錄 [TOC](文章目錄) 前言一、EXCEL-VB1.實驗過程2.代碼 二、EXCEL-VB 生成.c.h文件1.實驗過程2.代碼 四、參考資料總結 前言 1.WPS-VB擴展包 提示:以下是本篇文章正文內容,下面案例可供參考 一、EXCEL-VB 1.實驗過…

用deepseek學大模型05邏輯回歸

deepseek.com:邏輯回歸的目標函數,損失函數,梯度下降 標量和矩陣形式的數學推導,pytorch真實能跑的代碼案例以及模型,數據,預測結果的可視化展示, 模型應用場景和優缺點,及如何改進解決及改進方法數據推導。…

2025年02月17日Github流行趨勢

項目名稱:OmniParser 項目地址url:https://github.com/microsoft/OmniParser 項目語言:Jupyter Notebook 歷史star數:8971 今日star數:969 項目維護者:yadong-lu, ThomasDh-C, aliencaocao, nmstoker, kris…