Skip to content

Commit

Permalink
longest substring without repeating characters
Browse files Browse the repository at this point in the history
  • Loading branch information
แ„‹แ…ตแ„‹แ…งแ†ซแ„‰แ…ฎ committed Jan 20, 2025
1 parent c023f99 commit 0d24fb4
Showing 1 changed file with 24 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package leetcode_study

/*
* ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์—์„œ ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์€ ๊ฐ€์žฅ ๊ธด ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ
* ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋ฐ”๊นฅ ๋ฐ˜๋ณต๋ฌธ์—์„  ์‹œ์ž‘ ๋ฌธ์ž๋ฅผ ๋‚ด๋ถ€ ๋ฐ˜๋ณต๋ฌธ์—์„  ๊ทธ ๋‹ค์Œ ๋ฌธ์ž๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์ค‘๋ณต๋œ ๋ฌธ์ž๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์„ ๋•Œ, ๋ฐ˜๋ณต๋ฌธ ํƒˆ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ
* ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n^2)
* -> ์ด์ค‘ ๋ฐ˜๋ณต ๊ณผ์ •
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(n)
* -> ์ค‘๋ณต๋˜์ง€ ์•Š์€ ๋ฌธ์ž์—ด์„ ๋‹ด์„ ๊ณต๊ฐ„ ํ•„์š”
* */
fun lengthOfLongestSubstring(s: String): Int {
var maximumLength = 0
for (start in s.indices) {
val tempList = mutableListOf<Char>()
for (end in start until s.length) {
if (tempList.contains(s[end])) {
break // escape loop
}
tempList.add(s[end])
maximumLength = max(tempList.size, maximumLength)
}
}
return maximumLength
}

0 comments on commit 0d24fb4

Please sign in to comment.