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

Rust每日一練(Leetday0024) 爬樓梯、簡(jiǎn)化路徑、編輯距離

這篇具有很好參考價(jià)值的文章主要介紹了Rust每日一練(Leetday0024) 爬樓梯、簡(jiǎn)化路徑、編輯距離。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Rust每日一練(Leetday0024) 爬樓梯、簡(jiǎn)化路徑、編輯距離,rust,leetcode

目錄

70. 爬樓梯 Climbing Stairs????

71. 簡(jiǎn)化路徑 Simplify Path??????

72. 編輯距離 Edit Distance????????

?? 每日一練刷題專欄???

Rust每日一練 專欄

Golang每日一練 專欄

Python每日一練 專欄

C/C++每日一練 專欄

Java每日一練 專欄


70. 爬樓梯 Climbing Stairs

假設(shè)你正在爬樓梯。需要?n?階你才能到達(dá)樓頂。

每次你可以爬?1?或?2?個(gè)臺(tái)階。你有多少種不同的方法可以爬到樓頂呢?

示例 1:

輸入:n = 2
輸出:2
解釋:有兩種方法可以爬到樓頂。
1. 1 階 + 1 階
2. 2 階

示例 2:

輸入:n = 3
輸出:3
解釋:有三種方法可以爬到樓頂。
1. 1 階 + 1 階 + 1 階
2. 1 階 + 2 階
3. 2 階 + 1 階

提示:

  • 1 <= n <= 45

代碼: 題目本質(zhì)就是斐波那切數(shù)列

fn climb_stairs(n: i32) -> i32 {
    if n <= 1 {
        return 1;
    }
    let mut dp = vec![0; n as usize + 1];
    dp[0] = 1;
    dp[1] = 1;
    for i in 2..=n as usize {
        dp[i] = dp[i - 1] + dp[i - 2];
    }
    dp[n as usize]
}

fn main() {
    println!("{}", climb_stairs(2));
    println!("{}", climb_stairs(3));
    println!("{}", climb_stairs(5));
}

輸出:

2
3
8


71. 簡(jiǎn)化路徑 Simplify Path

給你一個(gè)字符串?path?,表示指向某一文件或目錄的?Unix 風(fēng)格?絕對(duì)路徑?(以?'/'?開(kāi)頭),請(qǐng)你將其轉(zhuǎn)化為更加簡(jiǎn)潔的規(guī)范路徑。

在 Unix 風(fēng)格的文件系統(tǒng)中,一個(gè)點(diǎn)(.)表示當(dāng)前目錄本身;此外,兩個(gè)點(diǎn) (..)?表示將目錄切換到上一級(jí)(指向父目錄);兩者都可以是復(fù)雜相對(duì)路徑的組成部分。任意多個(gè)連續(xù)的斜杠(即,'//')都被視為單個(gè)斜杠?'/'?。 對(duì)于此問(wèn)題,任何其他格式的點(diǎn)(例如,'...')均被視為文件/目錄名稱。

請(qǐng)注意,返回的?規(guī)范路徑?必須遵循下述格式:

  • 始終以斜杠?'/'?開(kāi)頭。
  • 兩個(gè)目錄名之間必須只有一個(gè)斜杠?'/'?。
  • 最后一個(gè)目錄名(如果存在)不能?以?'/'?結(jié)尾。
  • 此外,路徑僅包含從根目錄到目標(biāo)文件或目錄的路徑上的目錄(即,不含?'.'?或?'..')。

返回簡(jiǎn)化后得到的?規(guī)范路徑?。

示例 1:

輸入:path = "/home/"
輸出:"/home"
解釋:注意,最后一個(gè)目錄名后面沒(méi)有斜杠。 

示例 2:

輸入:path = "/../"
輸出:"/"
解釋:從根目錄向上一級(jí)是不可行的,因?yàn)楦夸浭悄憧梢缘竭_(dá)的最高級(jí)。

示例 3:

輸入:path = "/home//foo/"
輸出:"/home/foo"
解釋:在規(guī)范路徑中,多個(gè)連續(xù)斜杠需要用一個(gè)斜杠替換。

示例 4:

輸入:path = "/a/./b/../../c/"
輸出:"/c"

提示:

  • 1 <= path.length <= 3000
  • path?由英文字母,數(shù)字,'.','/'?或?'_'?組成。
  • path?是一個(gè)有效的 Unix 風(fēng)格絕對(duì)路徑。

代碼:

fn simplify_path(path: &str) -> String {
    let dirs = path.split("/");
    let mut stack = Vec::new();
    for dir in dirs {
        match dir {
            "" | "." => continue,
            ".." => {
                if stack.len() > 0 {
                    stack.pop();
                }
            },
            _ => stack.push(dir),
        }
    }
    let mut res = String::from("/");
    res.push_str(&stack.join("/"));
    res
}

fn main() {
    println!("{}", simplify_path("/home/"));
    println!("{}", simplify_path("/../"));
    println!("{}", simplify_path("/home//foo/"));
    println!("{}", simplify_path("/a/./b/../../c/"));
}

輸出:

/home
/
/home/foo
/c


72. 編輯距離 Edit Distance

給你兩個(gè)單詞?word1?和?word2,?請(qǐng)返回將?word1?轉(zhuǎn)換成?word2?所使用的最少操作數(shù)??。

你可以對(duì)一個(gè)單詞進(jìn)行如下三種操作:

  • 插入一個(gè)字符
  • 刪除一個(gè)字符
  • 替換一個(gè)字符

示例?1:

輸入:word1 = "horse", word2 = "ros"
輸出:3
解釋:
horse -> rorse (將 'h' 替換為 'r')
rorse -> rose (刪除 'r')
rose -> ros (刪除 'e')

示例?2:

輸入:word1 = "intention", word2 = "execution"
輸出:5
解釋:
intention -> inention (刪除 't')
inention -> enention (將 'i' 替換為 'e')
enention -> exention (將 'n' 替換為 'x')
exention -> exection (將 'n' 替換為 'c')
exection -> execution (插入 'u')

提示:

  • 0 <= word1.length, word2.length <= 500
  • word1?和?word2?由小寫英文字母組成

代碼:

fn min_distance(word1: String, word2: String) -> i32 {
    let m = word1.len();
    let n = word2.len();
    let mut dp = vec![0; n + 1];
    let word1 = word1.as_bytes();
    let word2 = word2.as_bytes();
    // 初始化第一行
    for j in 1..=n {
        dp[j] = j as i32;
    }
    for i in 1..=m {
        let mut pre = dp[0];
        dp[0] = i as i32;
        for j in 1..=n {
            let temp = dp[j];
            if word1[i - 1] == word2[j - 1] {
                dp[j] = pre;
            } else {
                dp[j] = pre.min(dp[j - 1]).min(dp[j]) + 1;
            }
            pre = temp;
        }
    }
    dp[n]
}

fn main() {
    println!("{}", min_distance("horse".to_string(), "ros".to_string()));
    println!("{}", min_distance("intention".to_string(), "execution".to_string()));
}

輸出:

3
5


?? 每日一練刷題專欄???

? 持續(xù),努力奮斗做強(qiáng)刷題搬運(yùn)工!

?? 點(diǎn)贊,你的認(rèn)可是我堅(jiān)持的動(dòng)力!?

???收藏,你的青睞是我努力的方向!?

? 評(píng)論,你的意見(jiàn)是我進(jìn)步的財(cái)富!??

??主頁(yè):https://hannyang.blog.csdn.net/

Rust每日一練(Leetday0024) 爬樓梯、簡(jiǎn)化路徑、編輯距離,rust,leetcode

Rust每日一練 專欄

(2023.5.16~)更新中...

Rust每日一練(Leetday0024) 爬樓梯、簡(jiǎn)化路徑、編輯距離,rust,leetcode

Golang每日一練 專欄

(2023.3.11~)更新中...

Rust每日一練(Leetday0024) 爬樓梯、簡(jiǎn)化路徑、編輯距離,rust,leetcode

Python每日一練 專欄

(2023.2.18~2023.5.18)暫停更

Rust每日一練(Leetday0024) 爬樓梯、簡(jiǎn)化路徑、編輯距離,rust,leetcode

C/C++每日一練 專欄

(2023.2.18~2023.5.18)暫停更

Rust每日一練(Leetday0024) 爬樓梯、簡(jiǎn)化路徑、編輯距離,rust,leetcode

Java每日一練 專欄

(2023.3.11~2023.5.18)暫停更文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-535539.html

到了這里,關(guān)于Rust每日一練(Leetday0024) 爬樓梯、簡(jiǎn)化路徑、編輯距離的文章就介紹完了。如果您還想了解更多內(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)文章

  • Rust每日一練(Leetday0025) 矩陣置零、搜索二維矩陣、顏色分類

    Rust每日一練(Leetday0025) 矩陣置零、搜索二維矩陣、顏色分類

    目錄 73. 矩陣置零 Set Matrix Zeroes?????? 74. 搜索二維矩陣 Search A 2d-Matrix?????? 75. 顏色分類 Sort Colors?????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給定一個(gè)? m ?x? n ?的矩陣,如果一個(gè)元

    2024年02月11日
    瀏覽(56)
  • Rust每日一練(Leetday0012) 首末位置、插入位置、有效數(shù)獨(dú)

    Rust每日一練(Leetday0012) 首末位置、插入位置、有效數(shù)獨(dú)

    目錄 34. 查找元素的首末位置 Find-first-and-last-position-of-element-in-sorted-array?????? 35. 搜索插入位置 Search Insert Position???? 36. 有效的數(shù)獨(dú) Valid Sudoku?????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專

    2024年02月09日
    瀏覽(23)
  • Rust每日一練(Leetday0029) 柱狀圖、最大矩形、擾亂字符串

    Rust每日一練(Leetday0029) 柱狀圖、最大矩形、擾亂字符串

    目錄 84. 柱狀圖中最大的矩形 Largest-rectangle-in-histogram???????? 85. 最大矩形 Maximal Rectangle???????? 87. 擾亂字符串 Scramble String???????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給定? n

    2024年02月09日
    瀏覽(31)
  • Rust每日一練(Leetday0020) 最后單詞的長(zhǎng)度、螺旋矩陣II、排列序列

    Rust每日一練(Leetday0020) 最后單詞的長(zhǎng)度、螺旋矩陣II、排列序列

    目錄 58. 最后一個(gè)單詞的長(zhǎng)度 Length of Last Word???? 59. 螺旋矩陣 II Spiral Matrix II?????? 60. 排列序列 Permutation Sequence???????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給你一個(gè)字符串? s ,由

    2024年02月10日
    瀏覽(58)
  • Rust每日一練(Leetday0027) 單詞搜索、刪除重復(fù)項(xiàng)II、搜索旋轉(zhuǎn)排序數(shù)組II

    Rust每日一練(Leetday0027) 單詞搜索、刪除重復(fù)項(xiàng)II、搜索旋轉(zhuǎn)排序數(shù)組II

    目錄 79. 單詞搜索 Word Search?????? 80. 刪除有序數(shù)組中的重復(fù)項(xiàng) II Remove-duplicates-from-sorted-array-II?????? 81. 搜索旋轉(zhuǎn)排序數(shù)組 II Search-in-rotated-sorted-array-II?????? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給定一

    2024年02月08日
    瀏覽(24)
  • Golang每日一練(leetDay0114) 矩陣中的最長(zhǎng)遞增路徑、按要求補(bǔ)齊數(shù)組

    Golang每日一練(leetDay0114) 矩陣中的最長(zhǎng)遞增路徑、按要求補(bǔ)齊數(shù)組

    目錄 329. 矩陣中的最長(zhǎng)遞增路徑 Longest Increasing Path In A?Matrix?????? 330. 按要求補(bǔ)齊數(shù)組 Patching Array?????? ?? 每日一練刷題專欄??? Rust每日一練 專欄 Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給定一個(gè)? m x n ?整數(shù)矩陣? matrix ?,找出

    2024年02月12日
    瀏覽(30)
  • Golang每日一練(leetDay0022)

    Golang每日一練(leetDay0022)

    目錄 64. 最小路徑和 Minimum Path Sum?????? 65. 有效數(shù)字 Valid Number???????? 66. 加一 Plus One???? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給定一個(gè)包含非負(fù)整數(shù)的? m ?x? n ?網(wǎng)格? grid ?,請(qǐng)找出一條從左上角到

    2023年04月21日
    瀏覽(27)
  • Golang每日一練(leetDay0031)

    Golang每日一練(leetDay0031)

    目錄 91. 解碼方法? Decode Ways?????? 93. 復(fù)原 IP 地址 Restore IP Addresses?????? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 注:92.題 移到206.題之后 92. 反轉(zhuǎn)鏈表 II Reverse Linked List II 一條包含字母? A-Z ?的消息通過(guò)以

    2023年04月19日
    瀏覽(65)
  • Golang每日一練(leetDay0004)

    Golang每日一練(leetDay0004)

    目錄 10.?正則表達(dá)式匹配?Regular Expression Matching???????? 11. 盛最多水的容器 Container with most water?????? 12. 整數(shù)轉(zhuǎn)羅馬數(shù)字 Integer to Roman?????? ???每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 給你一個(gè)字符串?

    2023年04月08日
    瀏覽(31)
  • Golang每日一練(leetDay0052)

    Golang每日一練(leetDay0052)

    目錄 153. 尋找旋轉(zhuǎn)排序數(shù)組中的最小值 Find Minimum In Rotated Sorted Array?????? 154. 尋找旋轉(zhuǎn)排序數(shù)組中的最小值 II Find Minimum In Rotated Sorted Array II???????? ?? 每日一練刷題專欄??? Golang每日一練 專欄 Python每日一練 專欄 C/C++每日一練 專欄 Java每日一練 專欄 已知一個(gè)長(zhǎng)度為

    2024年02月02日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包