Sobes.tech
Senior

Чӣ гуна метавон анаграммаҳои калимаро дар луғат ёфтан?

sobes.tech AI

Ҷавоб аз AI

Барои ёфтананаграммаи калима дар луғат дар Go, шумо метавонед тартиби ҳарфҳои калимаро ҳамчун калид истифода баред. Ҳама калимаҳое, ки вақте ҳарфҳои онҳоро тартиб медиҳед, ҳамон сатрро медиҳанд, анаграммаи якдигар мебошанд.

Масалан:

package main

import (
	"fmt"
	"sort"
	"strings"
)

func sortString(s string) string {
	chars := strings.Split(s, "")
	sort.Strings(chars)
	return strings.Join(chars, "")
}

func findAnagrams(word string, dictionary []string) []string {
	key := sortString(word)
	var anagrams []string
	for _, w := range dictionary {
		if w != word && sortString(w) == key {
			anagrams = append(anagrams, w)
		}
	}
	return anagrams
}

func main() {
	dict := []string{"listen", "silent", "enlist", "google", "inlets", "banana"}
	word := "listen"
	fmt.Println(findAnagrams(word, dict)) // [silent enlist inlets]
}

Нақша ин аст, ки тартиби ҳарфҳо калимаро муқаррар мекунад, ва ҳама анаграммаҳо шакли якхела доранд.