国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

算法每日一題:贖金信 | 字符和整數(shù)

這篇具有很好參考價值的文章主要介紹了算法每日一題:贖金信 | 字符和整數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

hello,大家好,我是星恒
今天給大家?guī)淼念}目是一道簡單題目,主要幫大家復(fù)習(xí)一下字符串和字符的相關(guān)操作

給你兩個字符串:ransomNote 和 magazine ,判斷 ransomNote 能不能由 magazine 里面的字符構(gòu)成。
如果可以,返回 true ;否則返回 false 。
magazine 中的每個字符只能在 ransomNote 中使用一次。

示例:

示例 1:

輸入:ransomNote = "a", magazine = "b"
輸出:false

示例 2:

輸入:ransomNote = "aa", magazine = "ab"
輸出:false

示例 3:

輸入:ransomNote = "aa", magazine = "aab"
輸出:true

提示:

  • 1 <= ransomNote.length, magazine.length <= 105
  • ransomNote 和 magazine 由小寫英文字母組成

分析:
這道題思路很簡單,剛開始大家一看到是否組成,一定先想到的是哈希,但是題目緊跟著說"每個字符只能使用一次",誒嘿,那我們肯定不適合用hash了,hash最大的優(yōu)勢在于看元素存在不,計數(shù)不是他的優(yōu)勢,這里數(shù)組是一種更優(yōu)的解法

我們只要把26個字母使用數(shù)字 0 - 25表示出來,然后使用數(shù)組給字符串出現(xiàn)的字母計數(shù),這樣我們遍歷第一個字符串magazine,存入字符串中字符出現(xiàn)次數(shù),然后遍歷ransomNote,減掉對應(yīng)字符出現(xiàn)的次數(shù),如果次數(shù)出現(xiàn)負(fù)數(shù),那么說明magazine的字符不能全部包含ransomNote里面的字符!

然后這里如果是算法新手,可能會在字符間相加減有一定的疑惑:加減后是否是ACSII整數(shù),還是還是字符?
這里其實(shí)會轉(zhuǎn)為整數(shù),字符和字符相加減,字符和整數(shù)相加減都會變?yōu)檎麛?shù)
整數(shù)轉(zhuǎn)字符只要強(qiáng)轉(zhuǎn)即可(按照ACSII碼規(guī)則轉(zhuǎn)的),即char a =(char)('a'+x)

題解:

class Solution {
    public boolean canConstruct(String ransomNote, String magazine) {
        int[] count = new int[26];

        for (int i = 0; i < magazine.length(); i++) {
            count[magazine.charAt(i) - 'a']++;
        }

        for (int i = 0; i < ransomNote.length(); i++) {
            int index = ransomNote.charAt(i) - 'a';
            count[index]--;
            if (count[index] < 0) 
                return false;
        }
        return true;
    }
}

如果大家有什么思考和問題,可以在評論區(qū)討論,也可以私信我,很樂意為大家效勞。
好啦,今天的每日一題到這里就結(jié)束了,如果大家覺得有用,可以可以給我一個小小的贊呢,我們下期再見!文章來源地址http://www.zghlxwxcb.cn/news/detail-812855.html

到了這里,關(guān)于算法每日一題:贖金信 | 字符和整數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 每日一題之?dāng)?shù)值的整數(shù)次方

    每日一題之?dāng)?shù)值的整數(shù)次方

    描述: 實(shí)現(xiàn)函數(shù) double Power(double base, int exponent),求 base 的 exponent 次方。 注意: 1.保證base和exponent不同時為0。 2.不得使用庫函數(shù),同時不需要考慮大數(shù)問題 3.有特殊判題,不用考慮小數(shù)點(diǎn)后面0的位數(shù)。 我的思路:直接使用遞歸,讓它每次乘一個它自身。但這存在一個問題,

    2024年02月12日
    瀏覽(20)
  • LeetCode·每日一題·822. 翻轉(zhuǎn)卡片游戲·哈希

    LeetCode·每日一題·822. 翻轉(zhuǎn)卡片游戲·哈希

    作者:小迅 鏈接:https://leetcode.cn/problems/card-flipping-game/solutions/2368969/ha-xi-zhu-shi-chao-ji-xiang-xi-by-xun-ge-7ivj/ 來源:力扣(LeetCode) 著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。 根據(jù)題意,只要有數(shù)字滿足 fronts[i]=backs[i],那么 fronts[i] 絕對不可能是

    2024年02月14日
    瀏覽(22)
  • (哈希表 ) 202. 快樂數(shù)——【Leetcode每日一題】

    (哈希表 ) 202. 快樂數(shù)——【Leetcode每日一題】

    難度:簡單 編寫一個算法來判斷一個數(shù) n 是不是快樂數(shù)。 「快樂數(shù)」 定義為: 對于一個正整數(shù),每一次將該數(shù)替換為它每個位置上的數(shù)字的平方和。 然后重復(fù)這個過程直到這個數(shù)變?yōu)?1,也可能是 無限循環(huán) 但始終變不到 1。 如果這個過程 結(jié)果為 1,那么這個數(shù)就是快樂數(shù)

    2024年02月08日
    瀏覽(20)
  • Leetcode-每日一題【劍指 Offer 16. 數(shù)值的整數(shù)次方】

    Leetcode-每日一題【劍指 Offer 16. 數(shù)值的整數(shù)次方】

    實(shí)現(xiàn)?pow(x,?n)?,即計算 x 的 n 次冪函數(shù)(即,xn)。不得使用庫函數(shù),同時不需要考慮大數(shù)問題。 示例 1: 輸入: x = 2.00000, n = 10 輸出: 1024.00000 示例 2: 輸入: x = 2.10000, n = 3 輸出: 9.26100 示例 3: 輸入: x = 2.00000, n = -2 輸出: 0.25000 解釋: 2-2 = 1/22 = 1/4 = 0.25 提示: -10

    2024年02月13日
    瀏覽(22)
  • C語言每日一題之整數(shù)求二進(jìn)制1的個數(shù)

    C語言每日一題之整數(shù)求二進(jìn)制1的個數(shù)

    今天分享一道題目,用三種方法來求解 二進(jìn)制1的個數(shù) 方法1 我們的十進(jìn)制除10和取余數(shù)就可以得到我們每一位的數(shù)字,那我們的二進(jìn)制也可 以 這是一種方法,另外一種就是我們可以用移位操作符來算 這個方法是不是也是特別妙呢,當(dāng)然還有更妙的方法,請看?。?! 相信看

    2024年02月15日
    瀏覽(91)
  • 【每日一題/哈希表運(yùn)用題】1054. 距離相等的條形碼

    【每日一題/哈希表運(yùn)用題】1054. 距離相等的條形碼

    ?? 前面的話 ?? 本篇文章介紹【距離相等的條形碼】題解,題目標(biāo)簽【哈希表】, 【貪心】,【優(yōu)先級隊列】,展示語言c++/java。 ??博客主頁:未見花聞的博客主頁 ??歡迎關(guān)注??點(diǎn)贊??收藏??留言?? ??本文由 未見花聞 原創(chuàng), CSDN 首發(fā)! ??首發(fā)時間:??2023年

    2024年02月04日
    瀏覽(22)
  • 【每日一題Day281】LC142鏈表 Ⅱ| 快慢指針 哈希表

    【每日一題Day281】LC142鏈表 Ⅱ| 快慢指針 哈希表

    環(huán)形鏈表 Ⅱ【LC142】 給定一個鏈表,返回鏈表開始入環(huán)的第一個節(jié)點(diǎn)。 如果鏈表無環(huán),則返回 null。 如果鏈表中有某個節(jié)點(diǎn),可以通過連續(xù)跟蹤 next 指針再次到達(dá),則鏈表中存在環(huán)。 為了表示給定鏈表中的環(huán),評測系統(tǒng)內(nèi)部使用整數(shù) pos 來表示鏈表尾連接到鏈表中的位置(

    2024年02月15日
    瀏覽(17)
  • 【每日一題】Leetcode - 劍指 Offer 43. 1~n 整數(shù)中 1 出現(xiàn)的次數(shù)

    【每日一題】Leetcode - 劍指 Offer 43. 1~n 整數(shù)中 1 出現(xiàn)的次數(shù)

    Leetcode - 劍指 Offer 43. 1~n 整數(shù)中 1 出現(xiàn)的次數(shù) 分解數(shù)字中的每一位,判斷+記錄 = 結(jié)果 But,超時了,下面是優(yōu)化過程簡介 空間換時間(爆內(nèi)存) :n = 123456,則n{len-1} = 12345,其實(shí)走到n這里,說明n{len-1}這個數(shù)字我們一定已經(jīng)知道了它有多少個1了,所以我們只需要記錄保存下

    2024年02月11日
    瀏覽(19)
  • 【每日一題Day199】LC1010總持續(xù)時間可被 60 整除的歌曲 | 哈希表

    總持續(xù)時間可被 60 整除的歌曲【LC1010】 在歌曲列表中,第 i 首歌曲的持續(xù)時間為 time[i] 秒。 返回其總持續(xù)時間(以秒為單位)可被 60 整除的歌曲對的數(shù)量。形式上,我們希望下標(biāo)數(shù)字 i 和 j 滿足 i j 且有 (time[i] + time[j]) % 60 == 0 。 思路 由于需要求兩首歌的總時間可被60整除

    2024年02月03日
    瀏覽(23)
  • 每日一題——字符串變形

    題目 對于一個長度為 n 字符串,我們需要對它做一些變形。 首先這個字符串中包含著一些空格,就像\\\"Hello World\\\"一樣,然后我們要做的是把這個字符串中由空格隔開的單詞反序,同時反轉(zhuǎn)每個字符的大小寫。 比如\\\"Hello World\\\"變形后就變成了\\\"wORLD hELLO\\\"。 需要考慮字符串結(jié)尾是空

    2024年02月13日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包