算法:字符串

2019-03-18  本文已影响0人  Zack_H

Map

for (int i = 0; i < keys.length; i++) {
    if (!map.containsKey(keys[i]))
        map.put(keys[i], new ArrayList<>());
    map.get(keys[i]).add(values[i]);
}

字符串

a = a+b;
b = a-b;
a = a-b;
while (x != 0) {
    int pop = x % 10;
    x /= 10;
    if (rev > INT_MAX/10 || (rev == INT_MAX / 10 && pop > 7)) return 0;
    if (rev < INT_MIN/10 || (rev == INT_MIN / 10 && pop < -8)) return 0;
    rev = rev * 10 + pop;
}
while (i<j){
    while (('0'>s[i] || s[i]>'9') && ('a'>s[i] || s[i]>'z') && ('A'>s[i] || s[i]>'Z') && i<j)
        i++;
    while (('0'>s[j] || s[j]>'9') && ('a'>s[j] || s[j]>'z') && ('A'>s[j] || s[j]>'Z') && i<j)
        j--;
    if (s[i] != s[j])
        if ( ('0'<=s[i] && s[i]<='9') || !equalIgnoreCast(s[i],s[j]))
            return false;
    i++;
    j--;
}
rev = rev*10 - pop;
while (i<mainLen && j<pLen){
    if (main[i] == p[j]){
      i++;
      j++;
    }else{
        i = i - j;
        j = 0;
    }
}

KMP求next数组: 当p[0...k-1] == p[j-k...j-1]时,next[j] = k。

while (low <= high) {
    int middle = (low + high) / 2;
    if (isCommonPrefix(strs, middle))
        low = middle + 1;
    else
        high = middle - 1;
}
return strs[0].substring(0, (low + high) / 2);
上一篇下一篇

猜你喜欢

热点阅读