Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func subStrings(_ str: String) -> [String] {
- var subStrArray = [String]()
- for i in 0..<str.count {
- for j in stride(from: str.count-1, to: -1, by: -1){
- if (i > j){break}
- let startIdx = str.index(str.startIndex, offsetBy: i)
- let endIdx = str.index(str.startIndex, offsetBy: j)
- subStrArray.append(String(str[startIdx...endIdx]))
- }
- }
- return subStrArray
- }
- func findLongestSubStr(minLengthA minA: [String], maxLengthA maxA: [String]){
- var longestSubStr = ""
- var longestSubStrLength = 0
- for subStr in minA {
- if maxA.contains(subStr){
- if longestSubStrLength < subStr.count{
- longestSubStr = subStr
- longestSubStrLength = subStr.count
- }
- }
- }
- print("The longest common substring is \(longestSubStr) and is of length \(longestSubStrLength)")
- }
- let subStrArray1 = subStrings("GeeksforGeeks")
- let subStrArray2 = subStrings("GeeksQuiz")
- if subStrArray1.count < subStrArray2.count {
- findLongestSubStr(minLengthA: subStrArray1, maxLengthA: subStrArray2)
- }
- else {
- findLongestSubStr(minLengthA: subStrArray2, maxLengthA: subStrArray1)
- }
Add Comment
Please, Sign In to add comment