Leetcode 348:无重复最长子串-中位数-字符串转换整数

Posted hello,是翠花呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode 348:无重复最长子串-中位数-字符串转换整数相关的知识,希望对你有一定的参考价值。

自己从0到1的思路,仅供参考:
一:无重复字符的最长子串

var lengthOfLongestSubstring = function(s) 
    var s1 = ''
    var s2 = ''
    var l = 0

    while(l < s.length) 
        for(var i=l;i<s.length;i++)
            if(!s1.includes(s[i]))
                s1 += s[i]
             else 
                ++l
                if(s1.length > s2.length) 
                    s2 = s1
                    s1 = ''
                 else 
                    s1 = ''
                
                break
            
        
       
    

    return s2.length
;

二:寻找两个正序数组的中位数

var findMedianSortedArrays = function(nums1, nums2) 
    var arr = nums1.concat(nums2)
    arr.sort((a,b) => 
        if(a-b > 0) 
            return 1
         else 
            return -1
        
    )
    if(arr.length % 2 === 0) 
        var num = (arr[arr.length / 2 -1] + arr[arr.length / 2])/2
        return num
     else 
        var num = arr[Math.floor(arr.length / 2)]
        return num
    
;

三:字符串转换整数

var myAtoi = function(s) 
    var n1 = s.trimStart()

    if((!(/^\\d+/).test(n1) || (/ \\+ | \\- /g).test(s)) && !(/^\\d/).test(n1[1]))
        return 0
    

    if(s.length<=1 && (s === '-' || s === '+')) 
        return 0
    

    if((/\\d|\\+/g).test(n1[0]))
        var n2 = n1.match(/(\\d+)/g)[0]
        // 判断临界
        if(Number(n2) > (Math.pow(2, 31) - 1)) 
            return Math.pow(2, 31) - 1
        
        return Number(n2)

     else if(n1[0] === '-') 
        var n2 = n1.split(/\\-/g)[1].trimStart()
        // 如果字符串第一个字符是数字
        if((/\\d/g).test(n2[0]))
            var n3 = n2.match(/(\\d+)/g)[0] //匹配正负数,取第一组数字
            
            // 判断临界
            if(-Number(n3) < Math.pow(-2, 31)) 
                return Math.pow(-2, 31)
            
            return -Number(n3)
         else 
            return 0
        
     else 
        return 0
    
;

以上是关于Leetcode 348:无重复最长子串-中位数-字符串转换整数的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode

3. 无重复字符的最长子串 4. 寻找两个正序数组的中位数 java

LeetCode 无重复字符的最长子串

LeetCode3. 无重复字符的最长子串

LeetCode——无重复字符的最长子串

leetcode-无重复字符的最长子串