热点资讯
ag百家乐技巧 你的位置:ag百家乐官网 > ag百家乐技巧 > ag真人百家乐真假 2025-02-22: 找出加密后的字符串。用go道话, 给定一个字符串 s 和
ag真人百家乐真假 2025-02-22: 找出加密后的字符串。用go道话, 给定一个字符串 s 和发布日期:2024-04-24 07:46    点击次数:131

2025-02-22:找出加密后的字符串。用go道话,给定一个字符串 s 和一个整数 k,请使用以下设施对字符串进行加密:

关于字符串 s 中的每个字符 c,将其替换为在字符串中 c 背面的第 k 个字符(以轮回的姿色进行)。

最终复返加密后的字符串。

1

1

s 仅由小写英笔墨母构成。

输入: s = "dart", k = 3。

输出: "tdar"。

解说:

关于 i = 0,'d' 背面的第 3 个字符是 't'。

关于 i = 1,'a' 背面的第 3 个字符是 'd'。

关于 i = 2,'r' 背面的第 3 个字符是 'a'。

关于 i = 3,'t' 背面的第 3 个字符是 'r'。

谜底2025-02-22:

chatgpt[1]

题目来自leetcode3210。

大体设施如下:

1.给定输入字符串 s="dart" 和整数 k=3。

2.有计划 k 对字符串长度的取模,因为每个字符需要向后转移 k 个位置,ag百家乐官网然而超越字符串长度时需要轮反转移,是以取模是必要的。在这个例子中,k % len(s) = 3 % 4 = 3。

3.将字符串分红两部分:s[k:] 暗意从第 k 个字符到末尾的子字符串("t"),s[:k] 暗意从来源到第 k-1 个字符的子字符串("dar")。

4.加密后的字符串是这两部分连合起来的效果,即 "t" + "dar" = "tdar"。

合座时候复杂度:

• 有计划 k % len(s) 的时候复杂度是 O(1)。

• 字符串的连合操作的时候复杂度为 O(n),n 是字符串的长度。

是以总的时候复杂度为 O(1) + O(n) = O(n)。

出奇空间复杂度:

• 除了存储输入字符串 s 和整数 k 的空间外,需要存储两个子字符串 s[k:] 和 s[:k],它们的长度差异为 len(s) - k 和 k。

• 加密后的字符串需要存储,长度为 len(s)。

是以总的出奇空间复杂度是 O(n)。

Go齐全代码如下:

package mainimport "fmt"func getEncryptedString(s string, k int) string { k %= len(s) return s[k:] + s[:k]}func main { s := "dart" k := 3 result := getEncryptedString(s, k) fmt.Println(result)}

在这里插入图片形色

Rust齐全代码如下:

fn get_encrypted_string(s: &str, k: usize) -> String { let len = s.len; let k = k % len; // 有计划有用的 k 值 let (first, second) = s.split_at(k); format!("{}{}", second, first) // 组合新的字符串}fn main { let s = "dart"; let k = 3; let result = get_encrypted_string(s, k); println!("{}", result);}

在这里插入图片形色

Python齐全代码如下:

# -*-coding:utf-8-*-def get_encrypted_string(s: str, k: int) -> str: k %= len(s) # 有计划有用的 k 值 return s[k:] + s[:k] # 组合新的字符串def main: s = "dart" k = 3 result = get_encrypted_string(s, k) print(result)if __name__ == "__main__": main

在这里插入图片形色

援用连合

[1] chatgpt: https://chatbotsplace.com/?rc=nnNWSCJ7EPag真人百家乐真假