leetcode 1177 构建回文串检测

题目链接
运用了前缀和+位运算的思想
思路:

1. 通过数字每位代表每个字母

2. 使用int数组记录以i(0<=i

3. [l,r]区间的子串每个字母的奇偶性由count[r+1]^count[l]表示,

4. 使用x&=x-1快速找位中1的个数

5. k 项替换成任何小写英文字母,最多能将2k+1长度的的每个字母都为1个的字符串替换为回文串。

class Solution {
    public List canMakePaliQueries(String s, int[][] queries) {
        int strLen = s.length();
        int [] count = new int[strLen+1];
        Listresult = new ArrayList<>();
        for(int i=0;i0){
                    x&=x-1;
                    bit++;
                }
                result.add(bit<=(2*k+1));
        }
        return result;

    }
}

你可能感兴趣的:(leetcode,算法,职场和发展)