알파벳이 N
인 경우이 알파벳에 대해 길이가 다른 모든 문자열 M
을 열거하고 싶다고 가정합니다. Scala는 표준 라이브러리 함수를 제공합니까?주어진 알파벳에 주어진 길이의 모든 문자열을 열거하는 표준 함수
0
A
답변
3
another answer에서 영감을 촬영 :
val letters = Seq(1, 2, 3)
Iterable.fill(n)(letters).foldLeft(List(List[Int]())) { (a, b) =>
for (a<-a;b<-b) yield(b::a)
}
여분의 유형 약어에 대한 필요성이 조금 성가신 있지만 (그것없이 작동하지 않습니다
val letters = Seq("a", "b", "c")
val n = 3
Iterable.fill(n)(letters) reduceLeft { (a, b) =>
for(a<-a;b<-b) yield a+b
}
Seq[java.lang.String] = List(aaa, aab, aac, aba, abb, abc, aca, acb, acc, baa, bab, bac, bba, bbb, bbc, bca, bcb, bcc, caa, cab, cac, cba, cbb, cbc, cca, ccb, ccc)
문자열이 아닌 다른 작업을하려면 누군가 다른 방법을 모른다면).
2
또 다른 해결책 :
val alph = List("a", "b", "c")
val n = 3
alph.flatMap(List.fill(alph.size)(_))
.combinations(n)
.flatMap(_.permutations).toList
업데이트 : 당신이 출력에 문자열 목록을 얻고 싶은 경우에, alph
문자열이어야합니다.
val alph = "abcd"
+0
'n '이'alph'의 크기보다 클 때 작동하지 않는 것 같다. 예를 들어 :'alph = List (0, 1)','n = 3'은 예상 된'8'과 반대로 6 개의 시퀀스만을 생성합니다. – dsg
관련 문제
- 1. 주어진 알파벳에 대해 길이가 n 인 모든 문자열을 생성하는 Python 함수가 있습니까?
- 2. 주어진 문자열을 Ruby에서 주어진 숫자로 암호화하는 방법
- 3. 주어진 수의 요소에 대한 모든 가능한 순열을 열거하는 코드 작성
- 4. PHP는 주어진 길이의 가능한 모든 영숫자 조합을 생성합니다
- 5. 주어진 IMethodMessage 주어진 함수 특성을 추출하는 방법?
- 6. JS : 주어진 여러 태그 문자열을 갖는 모든
- 7. 주어진 길이의 k의 순열을 찾는 방법은 무엇입니까?
- 8. 주어진 모듈에서 모든 객체를 pickle 처리하는 함수
- 9. MySQL은 관련 레코드없이 주어진 길이의 모든 기간을 찾습니다.
- 10. 주어진 길이의 1과 0으로 가능한 모든 배열을 생성하는 알고리즘
- 11. 주어진 집합의 모든 문자열을 하위 문자열로 포함하는 최적의 문자열
- 12. $ _POST에 주어진 문자열을 PHP로 비교하십시오
- 13. 텍스트 문자열을 주어진 폭으로 조정하십시오.
- 14. 주어진 컨트롤러 문자열을 확인하는 방법
- 15. 주어진 경로를 조작하는 재귀 함수
- 16. 주어진 합계로 쌍을 열거하는 데 더 나은 알고리즘 (dict 사용보다).
- 17. 당신은 주어진
- 18. 주어진 알파벳의 모든 4 자리 조합을 얻으십시오
- 19. Mathematica에서 주어진 색상으로 주어진 ListPlot의 모든 점 설정하기
- 20. 주어진 크기의 모든 나무를 반복합니다.
- 21. 주어진 접두사없이 특정 문자열을 일치시키는 정규식
- 22. 주어진 길이의 토큰 목록을 생성하고 표 형식의 환경에서 사용하려면 어떻게해야합니까?
- 23. 공간에서 한 점을 주어진 X 길이의 선과 벡터를 그립니다.
- 24. 주어진 언어/로케일의 임의의 문자열을 생성하는 방법
- 25. 주어진 길이의 바이트 배열을 다른 길이의 바이트 배열로 구성하는 방법 JAVA
- 26. 주어진 URL에서 주어진 경로의 파일을 루아에서 주어진 경로로 다운로드하고 저장합니다.
- 27. 주어진 숫자의 모든 순열을 생성 하시겠습니까?
- 28. JButton을 주어진 길이의 문자열에 맞출 수 있는지 확인
- 29. 주어진 형식에 따라 문자열을 목록으로 나눕니다
- 30. 쉘 스크립트를 사용하여 주어진 문자열을 파일로 검사하십시오.
'n'크기의 보조 목록을 제거 할 수 있습니까? – Michael
@Michael은 'fill'을 사용하여 4e6을 제안합니다. 나는 그것을 반영하기 위해 나의 대답을 편집 할 것이다. – Owen
좋습니다! 새 버전을 가져 주셔서 감사합니다. – Michael