中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做網(wǎng)站學(xué)習(xí)營銷策略范文

做網(wǎng)站學(xué)習(xí),營銷策略范文,廣州方艙醫(yī)院最新消息,無錫好的網(wǎng)站建設(shè)公司本文將詳細(xì)解析解決這個(gè)問題的思路,并逐步優(yōu)化實(shí)現(xiàn)方案。 問題描述 給定兩個(gè)字符串 word1 和 word2,如果通過以下操作可以將 word1 轉(zhuǎn)換為 word2,則認(rèn)為它們是接近的: 交換任意兩個(gè)現(xiàn)有字符。將一個(gè)現(xiàn)有字符的每次出現(xiàn)轉(zhuǎn)換為另…

本文將詳細(xì)解析解決這個(gè)問題的思路,并逐步優(yōu)化實(shí)現(xiàn)方案。

問題描述

給定兩個(gè)字符串 word1word2,如果通過以下操作可以將 word1 轉(zhuǎn)換為 word2,則認(rèn)為它們是接近的:

  1. 交換任意兩個(gè)現(xiàn)有字符。
  2. 將一個(gè)現(xiàn)有字符的每次出現(xiàn)轉(zhuǎn)換為另一個(gè)現(xiàn)有字符,并對(duì)另一個(gè)字符執(zhí)行相同的操作。

你需要判斷 word1word2 是否接近。

示例

示例 1:

輸入:word1 = "abc", word2 = "bca"
輸出:true
解釋:2 次操作從 word1 獲得 word2 。
執(zhí)行操作 1:"abc" -> "acb"
執(zhí)行操作 1:"acb" -> "bca"

示例 2:

輸入:word1 = "a", word2 = "aa"
輸出:false
解釋:不管執(zhí)行多少次操作,都無法從 word1 得到 word2 ,反之亦然。

示例 3:

輸入:word1 = "cabbba", word2 = "abbccc"
輸出:true
解釋:3 次操作從 word1 獲得 word2 。
執(zhí)行操作 1:"cabbba" -> "caabbb"
執(zhí)行操作 2:"caabbb" -> "baaccc"
執(zhí)行操作 2:"baaccc" -> "abbccc"

1657. 確定兩個(gè)字符串是否接近 - 力扣(LeetCode)

解決思路

初步想法

最初的思路是通過使用 map 來記錄字符及其出現(xiàn)的次數(shù),然后通過 set 判斷兩個(gè)字符串的字符集是否一致,最后通過排序后的 vector 判斷兩個(gè)字符串的字符頻次是否一致。

class Solution {
public:bool closeStrings(string word1, string word2) {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);if(word1.size() != word2.size()) return false;// 首先判斷map是不是都是一樣的,包括char和int的個(gè)數(shù);然后判斷,是不是不管char,只要出現(xiàn)的次數(shù)一樣就可以過unordered_map<char , int > m1 , m2;for(auto c : word1){m1[c] ++;}for(char d : word2){m2[d] ++;}if(m1 == m2) return true;unordered_set<char> s1(word1.begin() , word1.end());unordered_set<char> s2(word2.begin() , word2.end());if(s1 != s2) return false;vector<int> v1 , v2;for(auto pair : m1) v1.push_back(pair.second);for(auto pair : m2) v2.push_back(pair.second);sort(v1.begin() ,v1.end());sort(v2.begin() , v2.end());return v1 == v2;}
};

雖然初步思路可以解決問題,但在時(shí)間和空間復(fù)雜度上還有優(yōu)化空間。

優(yōu)化思路

1657. 確定兩個(gè)字符串是否接近 - 力扣官方題解

官方解決方案利用了 word1word2 僅包含小寫字母這一條件,使用大小固定為 26 的 vector<int> 數(shù)組來記錄字符頻次。通過 ASCII 碼減去 'a' 得到對(duì)應(yīng)的下標(biāo),再進(jìn)行操作。

class Solution {
public:bool closeStrings(string word1, string word2) {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);vector<int> v1(26) , v2(26);for(auto c : word1){v1[c - 'a'] ++;}for(auto d : word2){v2[d - 'a'] ++;}for(int i = 0 ; i < 26 ; i ++){if(v1[i] == 0 && v2[i] > 0 || v1[i] > 0 && v2[i] == 0) return false;}sort(v1.begin() , v1.end());sort(v2.begin() , v2.end());return v1 == v2;}
};

詳細(xì)解析

  1. 字符頻次統(tǒng)計(jì)

    • 使用大小為 26 的 vector<int> 數(shù)組 count1count2 來記錄 word1word2 中每個(gè)字符的頻次。通過 c - 'a' 得到對(duì)應(yīng)的下標(biāo),這一步時(shí)間復(fù)雜度為 O(n)
  2. 字符集檢查

    • 遍歷 count1count2,如果某個(gè)字符在一個(gè)字符串中出現(xiàn)而在另一個(gè)字符串中沒有出現(xiàn),則返回 false。這一步的時(shí)間復(fù)雜度為 O(1),因?yàn)閿?shù)組大小固定為 26。
  3. 字符頻次數(shù)組排序和比較

    • 對(duì) count1count2 進(jìn)行排序,然后比較兩個(gè)排序后的數(shù)組是否相等。排序的時(shí)間復(fù)雜度為 O(26 log 26),即 O(1)

為什么需要排序?

排序后的數(shù)組能直接比較每個(gè)字符的頻次是否一致。這是因?yàn)榻粨Q字符不會(huì)改變頻次,轉(zhuǎn)換字符對(duì)頻次排序也沒有影響。通過排序并比較頻次數(shù)組,我們能確保所有字符頻次匹配。

復(fù)雜度分析

時(shí)間復(fù)雜度

  • 字符頻次統(tǒng)計(jì)的時(shí)間復(fù)雜度為 O(n),其中 n 為字符串的長度。
  • 字符集檢查的時(shí)間復(fù)雜度為 O(1),因?yàn)?count1count2 的大小固定為 26。
  • 排序的時(shí)間復(fù)雜度為 O(26 log 26),即 O(1)。

總的時(shí)間復(fù)雜度為 O(n)。

空間復(fù)雜度

  • 使用了兩個(gè)大小為 26 的 vector<int> 數(shù)組,空間復(fù)雜度為 O(1)

總結(jié)

在這里插入圖片描述

通過優(yōu)化,我們利用字符串僅包含小寫字母這一特性,將問題簡化為固定大小的數(shù)組操作,實(shí)現(xiàn)了更高效的解決方案。這種方法充分利用了題目中的限制條件,極大地優(yōu)化了時(shí)間和空間復(fù)雜度。

http://www.risenshineclean.com/news/9607.html

相關(guān)文章:

  • 長沙企業(yè)網(wǎng)站建設(shè)服務(wù)怎么做網(wǎng)址
  • 淮北市住房和城鄉(xiāng)建設(shè)局網(wǎng)站出售外鏈
  • 門戶網(wǎng)站類型北京疫情消息1小時(shí)前
  • 手機(jī)網(wǎng)站制作費(fèi)用多少seo廠商
  • 黃驊市海邊深圳優(yōu)化排名公司
  • 網(wǎng)站制作服務(wù)公司婚戀網(wǎng)站排名前三
  • 怎樣做營銷型網(wǎng)站推廣ppt抖音seo軟件
  • 網(wǎng)頁設(shè)計(jì)和網(wǎng)站開發(fā)有什么區(qū)別百度競(jìng)價(jià)是什么工作
  • 如何給一個(gè)網(wǎng)站做定時(shí)的更新深圳網(wǎng)站制作推廣
  • 國內(nèi)永久在線免費(fèi)建站百度網(wǎng)盤資源搜索引擎入口
  • 深圳和海楓建設(shè)集團(tuán)有限公司網(wǎng)站百度推廣關(guān)鍵詞
  • node做網(wǎng)站優(yōu)勢(shì)東莞發(fā)布最新通告
  • 生產(chǎn)做網(wǎng)站表帶的制造廠家seo整站優(yōu)化系統(tǒng)
  • 專業(yè)網(wǎng)站建設(shè)模板怎么在百度推廣自己的網(wǎng)站
  • 購物網(wǎng)站的圖片輪播怎么做短鏈接在線生成官網(wǎng)
  • 找別人做公司網(wǎng)站第一步做什么最新網(wǎng)站推廣方法
  • 做網(wǎng)站哪些公司好百度分析
  • 常德網(wǎng)站建設(shè)案例教程360優(yōu)化大師app
  • 自己做網(wǎng)站 為什么出現(xiàn)403營銷渠道名詞解釋
  • 使用他人注冊(cè)商標(biāo)做網(wǎng)站湖南網(wǎng)站托管
  • 醫(yī)療器械做網(wǎng)站到哪里先備案網(wǎng)絡(luò)營銷方法
  • 黔東網(wǎng)站建設(shè)什么網(wǎng)站都能打開的瀏覽器
  • 聊天網(wǎng)站制作教程武漢seo廣告推廣
  • 淮北網(wǎng)站建設(shè)制作衡陽網(wǎng)站優(yōu)化公司
  • 旅游網(wǎng)站模板源碼媒體發(fā)稿網(wǎng)
  • 最新中國b2b網(wǎng)站排名南寧seo做法哪家好
  • 獨(dú)立網(wǎng)站怎么做seo當(dāng)陽seo外包
  • php 開源企業(yè)網(wǎng)站百度網(wǎng)盤網(wǎng)頁版入口
  • 懷化 網(wǎng)站建設(shè)2345網(wǎng)址導(dǎo)航設(shè)為主頁
  • 合肥萬戶網(wǎng)絡(luò)科技有限公司搜索引擎優(yōu)化的主要工作