题解 | #查找兄弟单词#

查找兄弟单词

https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68

Go语言完成
输入一段字符串
提取其中元素进行操作即可
package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
	"strconv"
	"strings"
)

func main() {
	input := bufio.NewScanner(os.Stdin)
	input.Scan()
	char := input.Text()
	char1 := strings.Fields(char)
	k, _ := strconv.Atoi(char1[len(char1)-1])
	str := []rune(char1[len(char1)-2])
	str1 := strings.Builder{}
	var num int
	sort.Slice(str, func(i, j int) bool {
		return str[i] < str[j]
	})
	for i := 1; i <= len(char1)-2; i++ {
		str2 := []rune(char1[i])
		sort.Slice(str2, func(i, j int) bool {
			return str2[i] < str2[j]
		})
		if string(str2) == string(str) {
			if char1[i] != char1[len(char1)-2] {
				num++
				str1.WriteString(char1[i] + " ")
			}
		}
	}
	str3 := strings.Fields(str1.String())
	sort.Strings(str3)
	fmt.Println(num)
	if len(str3) > k {
		fmt.Println(str3[k-1])
	}
}


全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务