iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
自我挑戰組

30天刷題大挑戰系列 第 11

第 10 天 階段達成繼續奮鬥( leetcode 003 )

JavaScript 解答

var lengthOfLongestSubstring = function (s) {

    var max = 0;
    var i = 0;
    var j = 0;
    var n = s.length;
    var map = {};

    while (i < n && j < n) {
        if (map[s[j]] === undefined) {
            map[s[j]] = 1;
            j++;
            max = Math.max(max, j - i);
        } else {
            delete map[s[i]];
            i++;
        }

    }

    return max;
};

Ruby 解答

def length_of_longest_substring(s)    
    max = 0

    for i in 0..s.length-1
        check = Array.new(256, false)
        for j in i..s.length-1
            index = s[j].ord
            if check[index] == false
                check[index] = true
            else
                break
            end
            
        end
        if check.count(true) > max      
            max = check.count(true)
        end
    end
    max
end

上一篇
第 09 天 日積月累養成習慣( leetcode 413 416 )
下一篇
第 11 天 邁向下個階段努力( leetcode 005 )
系列文
30天刷題大挑戰16

尚未有邦友留言

立即登入留言