Tehtäväsi on muodostaa lista, jossa on kaikki annetun merkkijonon anagrammit eli kaikki merkkijonot, jotka voidaan muodostaa merkkijonon merkeistä. Listan tulee olla aakkosjärjestyksessä.
Voit olettaa, että merkkijono muodostuu merkeistä a
–z
ja siinä on enintään 8 merkkiä.
Python
Toteuta tiedostoon anagrams.py
funktio create
, joka muodostaa listan.
def create(s): # TODO if __name__ == "__main__": print(create("ab")) # [ab,ba] print(create("abac")) # [aabc,aacb,abac,abca,acab,acba,baac,baca,bcaa,caab,caba,cbaa] print(len(create("aybabtu"))) # 1260
Java
Toteuta tiedostoon Anagrams.java
metodi create
, joka muodostaa listan.
import java.util.*; public class Anagrams { public ArrayList<String> create(String s) { // TODO } public static void main(String[] args) { Anagrams a = new Anagrams(); System.out.println(a.create("ab")); // [ab,ba] System.out.println(a.create("abac")); // [aabc,aacb,abac,abca,acab,acba,baac,baca,bcaa,caab,caba,cbaa] System.out.println(a.create("aybabtu").size()); // 1260 } }