LeetCode刷题-哈希表位运算获取字符串出重后的长度
题目:
给你一个下标从 0 开始的字符串 s ,重复执行下述操作 任意 次:
在字符串中选出一个下标 i ,并使 c 为字符串下标 i 处的字符。并在 i 左侧(如果有)和 右侧(如果有)各 删除 一个距离 i 最近 的字符 c 。
请你通过执行上述操作任意次,使 s 的长度 最小化 。
返回一个表示 最小化 字符串的长度的整数。
代码:
class Solution {
public int minimizedStringLength(String s) {
int mask = 0;
for (char c : s.toCharArray()) {
mask |= 1 << (c - 'a');
}
return Integer.bitCount(mask);
}
}
本文来自博客园,作者:skystrivegao,转载请注明原文链接:https://www.cnblogs.com/skystrive/p/18797962
整理不易,如果对您有所帮助 请点赞收藏,谢谢~