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

【每日一題Day217】LC2451差值數(shù)組不同的字符串 | 枚舉+變量記錄

這篇具有很好參考價(jià)值的文章主要介紹了【每日一題Day217】LC2451差值數(shù)組不同的字符串 | 枚舉+變量記錄。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

差值數(shù)組不同的字符串【LC2451】

給你一個(gè)字符串?dāng)?shù)組 words ,每一個(gè)字符串長(zhǎng)度都相同,令所有字符串的長(zhǎng)度都為 n 。

每個(gè)字符串 words[i] 可以被轉(zhuǎn)化為一個(gè)長(zhǎng)度為 n - 1差值整數(shù)數(shù)組 difference[i] ,其中對(duì)于 0 <= j <= n - 2difference[i][j] = words[i][j+1] - words[i][j] 。注意兩個(gè)字母的差值定義為它們?cè)谧帜副碇?位置 之差,也就是說(shuō) 'a' 的位置是 0'b' 的位置是 1 ,'z' 的位置是 25 。

  • 比方說(shuō),字符串 "acb" 的差值整數(shù)數(shù)組是 [2 - 0, 1 - 2] = [2, -1] 。

words 中所有字符串 除了一個(gè)字符串以外 ,其他字符串的差值整數(shù)數(shù)組都相同。你需要找到那個(gè)不同的字符串。

請(qǐng)你返回 words差值整數(shù)數(shù)組 不同的字符串。

縱向比較實(shí)現(xiàn)1

  • 思路

    由于words 中所有字符串 除了一個(gè)字符串以外 ,其他字符串的差值整數(shù)數(shù)組都相同。因此我們可以求出第一個(gè)字符串的差值數(shù)組,并記錄該差值數(shù)組出現(xiàn)的次數(shù)count。然后枚舉其他字符串,比較差值數(shù)組是否相同,分情況討論。

    • 如果差值數(shù)組不同,并且count>1,那么此時(shí)的字符串即為答案。
    • 但是,還存在一種情況,第一個(gè)字符串為答案,那么最終count一直為1。
  • 實(shí)現(xiàn)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-466221.html

    class Solution {
        public String oddString(String[] words) {
            // 先記錄第一個(gè)字符串的差值數(shù)組,并記錄該差值數(shù)組出現(xiàn)的次數(shù)count
            // 再記錄與它不同的差值數(shù)組的下標(biāo)diff
            // 最后如果count>1,那么返回diff,否則返回0
            int n = words[0].length();
            int[] array = new int[n - 1];
            int count = 1, index = -1;
            for (int i = 0; i < n - 1; i++){
                array[i] = words[0].charAt(i + 1) - words[0].charAt(i);
            }
            for (int j = 1; j < words.length; j++){
                boolean same = true;
                for (int i = 0; i < n - 1; i++){
                    if (words[j].charAt(i + 1) - words[j].charAt(i) != array[i]){
                        same = false;
                        index = j;
                        break;
                    }
                }
                if (same) count++;
                if (count > 1 && index != -1) return words[index];
            }
            return words[0];
        }
    }
    
    • 復(fù)雜度
      • 時(shí)間復(fù)雜度: O ( m ? n ) \mathcal{O}(m*n) O(m?n),n為字符串長(zhǎng)度,m為字符串個(gè)數(shù)
      • 空間復(fù)雜度: O ( n ) \mathcal{O}(n) O(n)

縱向比較實(shí)現(xiàn)2

  • 思路:

    也是先記錄第一個(gè)字符串的差值數(shù)組,然后找到與它不同的字符串,那么答案幸福二選一。再選擇另一個(gè)字符串與第一個(gè)字符串的差值數(shù)組進(jìn)行比較,如果不同,答案為第一個(gè)字符串,反之為另一個(gè)字符串

  • 實(shí)現(xiàn)

    class Solution {
        public String oddString(String[] words) {
            int n = words.length;
            int i = 1;
            for(i = 1; i < n; i++){
                if(!check(words[i], words[0])){
                    break;
                }
            }
            
            for(int j = 1; j < n; j++){
                if(j != i){
                    if(check(words[j], words[0])){
                        return words[i];
                    }
                    else{
                        return words[0];
                    }
                }
            }
            return "";
        }
    
        private boolean check(String s1, String s2){
            int n = s1.length();
            int m = s1.charAt(0) - s2.charAt(0);
            for(int i = 1; i < n; i++){
                if(s1.charAt(i) - s2.charAt(i) != m){
                    return false;
                }
            }
            return true;
        }
    }
    
    作者:一只粗糙的瘋子
    鏈接:https://leetcode.cn/problems/odd-string-difference/solutions/2282834/chai-zhi-shu-zu-bu-tong-de-zi-fu-chuan-b-siph/
    來(lái)源:力扣(LeetCode)
    著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
    

到了這里,關(guān)于【每日一題Day217】LC2451差值數(shù)組不同的字符串 | 枚舉+變量記錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【每日一題Day256】LC2600K 件物品的最大和

    袋子中裝有一些物品,每個(gè)物品上都標(biāo)記著數(shù)字 1 、 0 或 -1 。 給你四個(gè)非負(fù)整數(shù) numOnes 、 numZeros 、 numNegOnes 和 k 。 袋子最初包含: numOnes 件標(biāo)記為 1 的物品。 numZeroes 件標(biāo)記為 0 的物品。 numNegOnes 件標(biāo)記為 -1 的物品。 現(xiàn)計(jì)劃從這些物品中恰好選出 k 件物品。返回所有可行

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

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

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

    2024年02月15日
    瀏覽(17)
  • 【每日一題Day266】LC18四數(shù)之和 | 排序+雙指針

    四數(shù)之和【 LC18 】 給你一個(gè)由 n 個(gè)整數(shù)組成的數(shù)組 nums ,和一個(gè)目標(biāo)值 target 。請(qǐng)你找出并返回滿足下述全部條件且 不重復(fù) 的四元組 [nums[a], nums[b], nums[c], nums[d]] (若兩個(gè)四元組元素一一對(duì)應(yīng),則認(rèn)為兩個(gè)四元組重復(fù)): 0 = a, b, c, d n a 、 b 、 c 和 d 互不相同 nums[a] + nums[b]

    2024年02月16日
    瀏覽(20)
  • 【每日一題Day262】LC1911最大子序列交替和 | dp

    最大子序列交替和【LC1911】 一個(gè)下標(biāo)從 0 開始的數(shù)組的 交替和 定義為 偶數(shù) 下標(biāo)處元素之 和 減去 奇數(shù) 下標(biāo)處元素之 和 。 比方說(shuō),數(shù)組 [4,2,5,3] 的交替和為 (4 + 5) - (2 + 3) = 4 。 給你一個(gè)數(shù)組 nums ,請(qǐng)你返回 nums 中任意子序列的 最大交替和 (子序列的下標(biāo) 重新 從 0 開始編

    2024年02月15日
    瀏覽(21)
  • 【每日一題Day224】LC2517禮盒的最大甜蜜度 | 二分答案

    禮盒的最大甜蜜度【LC2517】 You are given an array of positive integers price where price[i] denotes the price of the ith candy and a positive integer k . The store sells baskets of k distinct candies. The tastiness of a candy basket is the smallest absolute difference of the prices of any two candies in the basket. Return the maximum tastiness of a

    2024年02月07日
    瀏覽(19)
  • 【每日一題Day208】LC1335工作計(jì)劃的最低難度 | 動(dòng)態(tài)規(guī)劃

    工作計(jì)劃的最低難度【LC1335】 你需要制定一份 d 天的工作計(jì)劃表。工作之間存在依賴,要想執(zhí)行第 i 項(xiàng)工作,你必須完成全部 j 項(xiàng)工作( 0 = j i )。 你每天 至少 需要完成一項(xiàng)任務(wù)。工作計(jì)劃的總難度是這 d 天每一天的難度之和,而一天的工作難度是當(dāng)天應(yīng)該完成工作的最大

    2024年02月05日
    瀏覽(28)
  • 【每日一題Day191】LC2423刪除字符使頻率相同 | 枚舉 分類討論

    給你一個(gè)下標(biāo)從 0 開始的字符串 word ,字符串只包含小寫英文字母。你需要選擇 一個(gè) 下標(biāo)并 刪除 下標(biāo)處的字符,使得 word 中剩余每個(gè)字母出現(xiàn) 頻率 相同。 如果刪除一個(gè)字母后, word 中剩余所有字母的出現(xiàn)頻率都相同,那么返回 true ,否則返回 false 。 注意: 字母 x 的 頻

    2024年02月01日
    瀏覽(28)
  • 【每日一題Day267】LC834樹中距離之和 | 換根dp

    樹中距離之和【LC834】 給定一個(gè)無(wú)向、連通的樹。樹中有 n 個(gè)標(biāo)記為 0...n-1 的節(jié)點(diǎn)以及 n-1 條邊 。 給定整數(shù) n 和數(shù)組 edges , edges[i] = [ai, bi] 表示樹中的節(jié)點(diǎn) ai 和 bi 之間有一條邊。 返回長(zhǎng)度為 n 的數(shù)組 answer ,其中 answer[i] 是樹中第 i 個(gè)節(jié)點(diǎn)與所有其他節(jié)點(diǎn)之間的距離之和。

    2024年02月16日
    瀏覽(23)
  • 【每日一題Day292】LC1572矩陣對(duì)角線元素的和 模擬

    思路 簡(jiǎn)單模擬,主對(duì)角線的元素橫縱坐標(biāo)相等,副對(duì)角線的元素橫縱坐標(biāo)相加為n-1,注意避免重復(fù)計(jì)算 實(shí)現(xiàn) 復(fù)雜度 時(shí)間復(fù)雜度: O ( log ? n ) mathcal{O}(log n) O ( lo g n ) 空間復(fù)雜度: O ( 1 ) mathcal{O}(1) O ( 1 )

    2024年02月13日
    瀏覽(20)
  • 【每日一題Day331】LC2560打家劫舍 IV | 二分查找 + 貪心

    打家劫舍 IV【LC2560】 沿街有一排連續(xù)的房屋。每間房屋內(nèi)都藏有一定的現(xiàn)金?,F(xiàn)在有一位小偷計(jì)劃從這些房屋中竊取現(xiàn)金。 由于相鄰的房屋裝有相互連通的防盜系統(tǒng),所以小偷 不會(huì)竊取相鄰的房屋 。 小偷的 竊取能力 定義為他在竊取過(guò)程中能從單間房屋中竊取的 最大金額

    2024年02月07日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包