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

題目

給你一個字符串數組,請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。

字母異位詞 是由重新排列源單詞的所有字母得到的一個新單詞。

示例 1:

輸入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]
輸出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]
示例 2:

輸入: strs = [“”]
輸出: [[“”]]
示例 3:

輸入: strs = [“a”]
輸出: [[“a”]]

答案

這個問題可以使用字典來解決。我們遍歷字符串數組,對于每個字符串,我們將其所有字符放入一個列表,并將這個列表作為字典的值,字符串本身作為字典的鍵。這樣,所有具有相同字母組合的字符串都會被歸類在一起。

以下是解決這個問題的 Python 代碼:

def groupAnagrams(strs):  anagram_dict = {}  for word in strs:  # 將字符串轉換為字符列表,并按字母順序排序  sorted_chars = sorted(list(word))  # 使用排序后的字符列表作為字典的鍵  key = tuple(sorted_chars)  if key not in anagram_dict:  anagram_dict[key] = [word]  else:  anagram_dict[key].append(word)  創建一個新的列表,其中每個元素都是一個子列表,子列表中的元素是字母異位詞組  result = [[word for word in group] for key, group in anagram_dict.items()]  return result

現在我們可以測試這個函數:

python
strs = ["eat", "tea", "tan", "ate", "nat", "bat"]  
print(groupAnagrams(strs))  輸出: [['bat'], ['nat', 'tan'], ['ate', 'eat', 'tea']]  strs = [""]  
print(groupAnagrams(strs))  
輸出: [['']]  strs = ["a"]  
print(groupAnagrams(strs))  
輸出: [['a']]

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

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

相關文章

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

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

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

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

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

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

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

個人名片: 🐼作者簡介:一名大三在校生,喜歡AI編程🎋 🐻???個人主頁🥇:落798. 🐼個人WeChat:hmmwx53 🕊?系列專欄:🖼?…

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

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

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

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

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

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

【C++11】default、delete與Noncopyable

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

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

文章目錄 計數排序桶排序基數排序一、計數排序概念:寫法一:寫法二: 二、桶排序概念代碼 三、基數排序概念1.LSD排序法(最低位優先法)2.MSD排序法(最高位優先法) 基數排序VS基數排序VS桶排序 計數…

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

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

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

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

redis的主從復制,哨兵模式

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

PyTorch基本操作和工作流程

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

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…

OpenCV實現圖像噪聲、去噪基本方法

一、噪聲分類 1、高斯噪聲 指服從高斯分布&#xff08;正態分布&#xff09;的一類噪聲&#xff0c;其產生的主要原因是由于相機在拍攝時視場較暗且亮度不均勻造成的&#xff0c;同時相機長時間工作使得溫度過高也會引起高斯噪聲&#xff0c;另外電路元器件白身噪聲和互相影響…

acwing算法基礎之數學知識--求組合數基礎版

目錄 1 基礎知識2 模板3 工程化 1 基礎知識 &#xff08;一&#xff09; 組合數 C n k C_n^k Cnk?的計算公式&#xff0c; C n k n ? ( n ? 1 ) ? ( n ? k 1 ) 1 ? 2 ? k C_n^k\frac{n\cdot(n-1)\cdots(n-k1)}{1\cdot 2\cdots k} Cnk?1?2?kn?(n?1)?(n?k1)? …

laravel-admin導出excel全部,表中無id列導出失敗

laravel-admin導出excel時&#xff0c;導出全部數據&#xff0c;但是表中沒有id字段&#xff0c;然后就無法導出excel&#xff1b; 就直接顯示 一開始我也很著急&#xff0c;弄了半天還是不行&#xff0c;然后重寫還是有問題 最后發現底層代碼排序是按照id排序的orderBy(id, a…