前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >2024-12-13:有效单词。用go语言,要确定一个字符串是否为有效单词,需满足以下条件: 1.字符串至少包含3个字符。 2.

2024-12-13:有效单词。用go语言,要确定一个字符串是否为有效单词,需满足以下条件: 1.字符串至少包含3个字符。 2.

作者头像
福大大架构师每日一题
发布2024-12-19 18:40:26
发布2024-12-19 18:40:26
7700
代码可运行
举报
运行总次数:0
代码可运行

2024-12-13:有效单词。用go语言,要确定一个字符串是否为有效单词,需满足以下条件:

1.字符串至少包含3个字符。

2.字符串由数字0-9和英文字母(大小写)组成,不需要包含所有这些字符。

3.字符串中至少包含一个元音字母(a, e, i, o, u及其大写形式)。

4.字符串中至少包含一个辅音字母,即除元音字母外的其他字母。

给定一个字符串 word,如果满足上述条件,则返回true;否则返回false。

1 <= word.length <= 20。

word 由英文大写和小写字母、数字、'@'、'#' 和 '$' 组成。

输入:word = "234Adas"。

输出:true。

解释:

这个单词满足所有条件。

答案2024-12-13:

chatgpt[1]

题目来自leetcode3136。

大体步骤如下:

1.函数isValid接收一个字符串作为输入参数,用于判断该字符串是否满足有效单词的条件。

2.首先检查字符串的长度是否小于3,如果是,则直接返回false

3.初始化英文字母中的元音字母字符串变量vowels为"aeiou",以及两个布尔变量flag1flag2用于标记是否出现元音字母和辅音字母。

4.遍历输入的字符串word中的每个字符,对每个字符执行以下操作:

  • • 检查字符是否为字母或数字,如果不是,则直接返回false表示不是有效单词。
  • • 如果字符是英文字母,则判断是否为元音字母,若是,则将flag1标记为true;若不是则标记flag2true

5.最后,检查flag1flag2是否都为true,如果都为true则返回true表示是有效单词,否则返回false

6.在main函数中,定义一个字符串word = "234Adas"做为例子,调用isValid函数并打印返回结果。

总体时间复杂度为O(n),其中n是输入字符串word的长度。

空间复杂度为O(1),因为只使用了常量级别的额外空间(少量变量和常量字符串)。

Go完整代码如下:

代码语言:javascript
代码运行次数:0
复制
package main

import(
"fmt"
"strings"
"unicode"
)

func isValid(word string)bool{
iflen(word)<3{
returnfalse
}

    vowels :="aeiou"
    flag1 :=false
    flag2 :=false

for _,char:=range word {
if!unicode.IsLetter(char)&&!unicode.IsDigit(char){
returnfalse
}
if strings.ContainsRune(vowels, unicode.ToLower(char)){
            flag1 =true
}elseif unicode.IsLetter(char){
            flag2 =true
}
}

return flag1 && flag2
}
func main(){
    word :="234Adas"
    fmt.Println(isValid(word))
}

Rust完整代码如下:

代码语言:javascript
代码运行次数:0
复制
fn is_valid(word:&str)->bool{
if word.len()<3{
returnfalse;
}

letvowels="aeiou";
letmut has_vowel=false;
letmut has_consonant=false;

forcharin word.chars(){
if!char.is_alphanumeric(){
returnfalse;
}

letlower_char=char.to_ascii_lowercase();
if vowels.contains(lower_char){
            has_vowel =true;
}elseif lower_char.is_ascii_alphabetic(){
            has_consonant =true;
}
}

    has_vowel && has_consonant
}

fnmain(){
letword="234Adas";
println!("{}",is_valid(word));
}
引用链接

[1] chatgpt: https://chatbotsplace.com/?rc=nnNWSCJ7EP

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 福大大架构师每日一题 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大体步骤如下:
  • Go完整代码如下:
  • Rust完整代码如下:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档