Guest User

Untitled

a guest
Dec 14th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. func subStrings(_ str: String) -> [String] {
  2. var subStrArray = [String]()
  3. for i in 0..<str.count {
  4. for j in stride(from: str.count-1, to: -1, by: -1){
  5. if (i > j){break}
  6. let startIdx = str.index(str.startIndex, offsetBy: i)
  7. let endIdx = str.index(str.startIndex, offsetBy: j)
  8. subStrArray.append(String(str[startIdx...endIdx]))
  9. }
  10. }
  11. return subStrArray
  12. }
  13. func findLongestSubStr(minLengthA minA: [String], maxLengthA maxA: [String]){
  14. var longestSubStr = ""
  15. var longestSubStrLength = 0
  16. for subStr in minA {
  17. if maxA.contains(subStr){
  18. if longestSubStrLength < subStr.count{
  19. longestSubStr = subStr
  20. longestSubStrLength = subStr.count
  21. }
  22. }
  23. }
  24. print("The longest common substring is \(longestSubStr) and is of length \(longestSubStrLength)")
  25. }
  26.  
  27. let subStrArray1 = subStrings("GeeksforGeeks")
  28. let subStrArray2 = subStrings("GeeksQuiz")
  29.  
  30.  
  31. if subStrArray1.count < subStrArray2.count {
  32. findLongestSubStr(minLengthA: subStrArray1, maxLengthA: subStrArray2)
  33. }
  34. else {
  35. findLongestSubStr(minLengthA: subStrArray2, maxLengthA: subStrArray1)
  36. }
Add Comment
Please, Sign In to add comment