Well, its time for me to introduce you to the most difficult programming logic question of all time:
Given a string s we need to find out all the permutations of the characters of that string. Pretty easy huh?
Well lets add something to it. You are only allowed to use 2 for loops. That's it. No more loops. :-/
So here is the solution. Recursion!!
Code: VB
Function Permute(ByVal str As String) As List(Of String)
Dim ret As New List(Of String)
Dim q As Char() = str.ToCharArray
Dim n As String = ""
If q.Length <> 1 Then
For i = 0 To q.Length - 1
n = q(i)
Dim a As List(Of String) = Permute(str.Remove(i, 1)) ' Recursion!!
For Each el In a
ret.Add(n & el)
Next
Next
Else
ret.Add(str)
End If
Return ret
End Function
Given a string s we need to find out all the permutations of the characters of that string. Pretty easy huh?
Well lets add something to it. You are only allowed to use 2 for loops. That's it. No more loops. :-/
So here is the solution. Recursion!!
Code: VB
Function Permute(ByVal str As String) As List(Of String)
Dim ret As New List(Of String)
Dim q As Char() = str.ToCharArray
Dim n As String = ""
If q.Length <> 1 Then
For i = 0 To q.Length - 1
n = q(i)
Dim a As List(Of String) = Permute(str.Remove(i, 1)) ' Recursion!!
For Each el In a
ret.Add(n & el)
Next
Next
Else
ret.Add(str)
End If
Return ret
End Function
No comments:
Post a Comment