length of longest substring with no repititions

by hrabinowitz

HTML

<p>
Results are
</p>

JavaScript

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function(s) {
  var length = 0;
  for (var i=0; i<s.length; i++) {
    var len = lengthOfLongestSubstrFromBeginning(s.substr(i));
    if (len > length) {
        length = len;
    }
  }    
  return length;
};

function lengthOfLongestSubstrFromBeginning(str) {
    var hash = {};
    for (var i=0; i<str.length; i++) {
        if (hash[str[i]] == null) {
            hash[str[i]] = 1;
        } else {
            // already encountered
            //return i;
            break;
        }
    }
	console.log("lengthOfLongestSubstrFromBeginning: str=", str, "i=", i);
    return i;
}

alert(a=lengthOfLongestSubstring("abcabcdabcde"));
alert(b=lengthOfLongestSubstring('abcabcbb'));
$('p').append(a).append('<br>');
$('p').append(b).append('<br>');
$('p').append(lengthOfLongestSubstring('bbbbb')).append('<br>');