Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RawData := FileOpen(A_ScriptDir "\aoc6.txt", "r").Read(), RawData.Close()
- msgbox % FindMark(RawData, 4)
- msgbox % FindMark(RawData, 14)
- ; func
- FindMark(Search, distNum)
- {
- Loop % StrLen(Search)
- {
- t := {}
- for k, v in StrSplit(SubStr(Search, A_Index, distNum))
- t[v] := 0
- if mark := (t.count() = distNum) ? A_Index - 1 + distNum : 0
- return mark
- }
- }
- ; my first idea...
- ; FindMark(Search, distNum)
- ; {
- ; Loop % StrLen(Search)
- ; {
- ; if (A_Index < distNum)
- ; continue
- ; str := SubStr(Search, A_Index - distNum, distNum), occ := 0
- ; for k, v in StrSplit(str)
- ; {
- ; StrReplace(str, v, , replaces)
- ; occ += replaces
- ; }
- ; if (occ = distNum)
- ; return A_Index - 1
- ; }
- ; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement