兩道String演算法題賞析

2021-10-21 20:03:24 字數 1523 閱讀 4304

今天leecode看到了道初級演算法題。感覺思維很精妙。特此記錄下來以供學習使用

242. 有效的字母異位詞

字母異位詞就是兩個字串的字母相同,個數相同,順序可以不管。

我的思維就是:使用map統計每乙個字母的個數,然後遍歷兩個map。進行對比。兩個map的巢狀遍歷,時間複雜度o(n²)。空間複雜度是o(n)。

**如下:

從統計結果來看,時間用時才擊敗了26%不到。

對兩個字元陣列排序,然後判斷兩個陣列是否相等。這個也可以解決。時間複雜度取決於排序演算法。平均是o(nlogn)

這個就已經很厲害了。

首先轉化兩個字串為字元陣列。定義乙個長度為26的字元陣列。儲存的是s中對應的每個字母對應的ascii碼表值和a的碼表值得差。如果有多個,就自增。t恰好自減。最後看這個陣列是否都為0;

兩道面試演算法題

最近面試 兩道演算法題 說難不難 要寫全對也不容易 很慚愧 我沒有一次寫對 第一道 無序int陣列 找到中位數 void swap int a,int b int get kth number vector num,int k,int start,int end 一次劃分結束 index i if ...

兩道貪心演算法題

假設有n項物品,大小分別為s 1 s 2 s i sn 其中s i為滿足1 s i 100的整數。要把這些物品裝入到容量為100的一批箱子 序號1 n 中。裝箱方法是 對每項物品,順序掃瞄箱子,把該物品放入足以能夠容下它的第乙個箱子中。請寫乙個程式模擬這種裝箱過程,並輸出每個物品所在的箱子序號,以及...

每天兩道演算法題(一)

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。public class solution continue for int j 1 j public class solution ...