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

115 雙周賽

這篇具有很好參考價值的文章主要介紹了115 雙周賽。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

2901. 最長相鄰不相等子序列 II

給你一個整數(shù) n 和一個下標從 0 開始的字符串數(shù)組 words ,和一個下標從 0 開始的數(shù)組 groups ,兩個數(shù)組長度都是 n 。

兩個長度相等字符串的 漢明距離 定義為對應位置字符 不同 的數(shù)目。

你需要從下標 [0, 1, …, n - 1] 中選出一個 最長子序列 ,將這個子序列記作長度為 k 的 [i0, i1, …, ik - 1] ,它需要滿足以下條件:

相鄰 下標對應的 groups 值 不同。即,對于所有滿足 0 < j + 1 < k 的 j 都有 groups[ij] != groups[ij + 1] 。
對于所有 0 < j + 1 < k 的下標 j ,都滿足 words[ij] 和 words[ij + 1] 的長度 相等 ,且兩個字符串之間的 漢明距離 為 1 。
請你返回一個字符串數(shù)組,它是下標子序列 依次 對應 words 數(shù)組中的字符串連接形成的字符串數(shù)組。如果有多個答案,返回任意一個。

子序列 指的是從原數(shù)組中刪掉一些(也可能一個也不刪掉)元素,剩余元素不改變相對位置得到的新的數(shù)組。

注意:words 中的字符串長度可能 不相等 。

示例 1:

輸入:n = 3, words = [“bab”,“dab”,“cab”], groups = [1,2,2]
輸出:[“bab”,“cab”]

解題思路

動態(tài)規(guī)劃,唯一路徑文章來源地址http://www.zghlxwxcb.cn/news/detail-718533.html

code
class Solution {
    public Boolean Hamming(String s1,String s2){
        if(s1.length()!=s2.length())
        return false;
        int x = 0;
        for(int i=0;i<s1.length();i++)
            if(s1.charAt(i)!=s2.charAt(i)&&++x>1)
            return false;
        return true;
        }
    public List<String> getWordsInLongestSubsequence(int n, String[] words, int[] groups) {
            int[] source = new int[n];
            int[] best_seq = new int[n];
            int max_seq = 0;
            for(int i=0;i<n;i++)
            {
                for(int j=i-1;j>=0;j--)
                    if(best_seq[j]>best_seq[i]&&groups[j]!=groups[i]&&Hamming(words[i],words[j]))
                    {
                        best_seq[i]=best_seq[j];
                        source[i] = j;
                    }
            
            best_seq[i]++;
            if(best_seq[i]>best_seq[max_seq])
            max_seq = i;
            }
         List<String> result = new ArrayList<>();
         int now = max_seq;
         for(int i=0;i<best_seq[max_seq];i++)
         {
             result.add(words[now]);
             now = source[now];
         }
         for(int i=0;i<result.size()/2;i++)
             Collections.swap(result, i, result.size()-1-i);
         return result;
    }
}

到了這里,關(guān)于115 雙周賽的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 第 107 場LeetCode雙周賽

    第 107 場LeetCode雙周賽

    A 最大字符串配對數(shù)目 顯然各字符串對 間匹配的先后順序不影響最大匹配數(shù)目, 可以從后往前遍歷數(shù)組, 判斷前面是否有和當前末尾構(gòu)成匹配的. B 構(gòu)造最長的新字符串 記憶化搜索: 定義狀態(tài) p a a , b b , a b , l a s t p_{aa,bb,ab,last} p aa , bb , ab , l a s t ? 為剩余三種字符串分別為aa、

    2024年02月11日
    瀏覽(22)
  • leetcode第124場雙周賽

    給你一個整數(shù)數(shù)組? nums ?,如果? nums ? 至少 ?包含? 2 ?個元素,你可以執(zhí)行以下操作: 選擇? nums ?中的前兩個元素并將它們刪除。 一次操作的? 分數(shù) ?是被刪除元素的和。 在確保 ?所有操作分數(shù)相同 ?的前提下,請你求出? 最多 ?能進行多少次操作。 請你返回按照上述

    2024年02月19日
    瀏覽(17)
  • LeetCode---121雙周賽---數(shù)位dp

    LeetCode---121雙周賽---數(shù)位dp

    2996. 大于等于順序前綴和的最小缺失整數(shù) 2997. 使數(shù)組異或和等于 K 的最少操作次數(shù) 2998. 使 X 和 Y 相等的最少操作次數(shù) 2999. 統(tǒng)計強大整數(shù)的數(shù)目 簡單的模擬題,只要按照題目的要求去寫代碼即可,代碼如下 這題考異或的性質(zhì)---相同為0,相異為1,我們只要關(guān)心nums的異或和與

    2024年01月22日
    瀏覽(20)
  • leetcode 122雙周賽 解題思路+代碼

    本人水平有限,只做出3道,最后1道放棄。 給你一個長度為 n 的整數(shù)數(shù)組 nums 。 一個數(shù)組的 代價 是它的 第一個 元素。比方說,[1,2,3] 的代價是 1 ,[3,4,1] 的代價是 3 。 你需要將 nums 分成 3 個 連續(xù)且沒有交集 的子數(shù)組。 請你返回這些子數(shù)組的 最小 代價 總和 。 示例 1: 輸

    2024年02月20日
    瀏覽(21)
  • 【力扣周賽】第 113 場雙周賽(貪心&異或性質(zhì)&換根DP)

    【力扣周賽】第 113 場雙周賽(貪心&異或性質(zhì)&換根DP)

    https://leetcode.cn/contest/biweekly-contest-113/ https://leetcode.cn/problems/minimum-right-shifts-to-sort-the-array/ 提示: 1 = nums.length = 100 1 = nums[i] = 100 nums 中的整數(shù)互不相同。 因為數(shù)據(jù)范圍很小,所以可以從小到大枚舉可能的答案。 https://leetcode.cn/problems/minimum-array-length-after-pair-removals/ 提示: 1

    2024年02月07日
    瀏覽(55)
  • 第 122 場 LeetCode 雙周賽題解

    第 122 場 LeetCode 雙周賽題解

    A 將數(shù)組分成最小總代價的子數(shù)組 I 枚舉:枚舉后兩個子數(shù)組的起始下標 B 判斷一個數(shù)組是否可以變?yōu)橛行?模擬:模擬冒泡排序的過程,若相鄰元素大小關(guān)系需要交換位置,但其二進制下數(shù)位為 1 的數(shù)目不同,則返回false,若完成排序返回true C 通過操作使數(shù)組長度最小 腦筋急

    2024年01月22日
    瀏覽(24)
  • [LeetCode108雙周賽&LeetCode353周賽] 學習用記憶化搜索解決 DP 問題

    參考靈神直播和代碼 @cache 裝飾器的作用:將傳入不同參數(shù)得到的函數(shù)值存儲到緩存,避免下次傳遞相同參數(shù)重復計算結(jié)果,可用于解決遞歸函數(shù)重復計算問題,比如遞歸求斐波那契問題。 https://leetcode.cn/problems/maximum-number-of-jumps-to-reach-the-last-index/ 記憶化搜索 dfs(i) 表示以

    2024年02月13日
    瀏覽(24)
  • 藍橋杯雙周賽算法心得——三帶一(暴力枚舉)

    藍橋杯雙周賽算法心得——三帶一(暴力枚舉)

    大家好,我是晴天學長,枚舉思想,需要的小伙伴可以關(guān)注支持一下哦!后續(xù)會繼續(xù)更新的。 1) .三帶一 2) .算法思路 1.通過Scanner讀取輸入的整數(shù)n,表示接下來有n個字符串需要處理。 2.使用循環(huán)遍歷每個字符串: 3.將字符串轉(zhuǎn)換為字符數(shù)組c。 4.對于每個字符c[j],統(tǒng)計在整個

    2024年02月07日
    瀏覽(32)
  • 1014藍橋算法雙周賽,學習算法技巧,助力藍橋杯

    1014藍橋算法雙周賽,學習算法技巧,助力藍橋杯

    家人們,我來免費給大家送福利了?。?! 【1014藍橋算法雙周賽 】 藍橋杯全國軟件和信息技術(shù)專業(yè)人才大賽是由工業(yè)和信息化部人才交流中心舉辦的全國性IT學科賽事。參賽高校超過1200余所,累計參賽人數(shù)超過40萬人。該賽事連續(xù)兩年被列入中國高等教育學會發(fā)布的“全國普

    2024年02月08日
    瀏覽(23)
  • 藍橋杯雙周賽算法心得——通關(guān)(哈希+小根堆)

    藍橋杯雙周賽算法心得——通關(guān)(哈希+小根堆)

    大家好,我是晴天學長,這是很重要的貪心思維題,哈希的存法和小根堆的表示很重要。?????? 1) .通關(guān) 2) .算法思路 通關(guān) 用hash(int[])存點的子節(jié)點并按輸入順序存關(guān)卡的號碼(輸入順序就是) 列如:key:父節(jié)點 難度 經(jīng)驗 關(guān)卡 優(yōu)先隊列存難度和節(jié)點 1.接受數(shù)據(jù)和初始

    2024年02月08日
    瀏覽(16)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包