LeetCode 第 211 场周赛 (哈希表、字符串(取模、枚举)、排序+最长上升子序列和、筛法求约数+并查集)

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

for(int i=0;i

char c = s[i];

mp[c].push_back(i);

}

int ans = -1;

for(const auto &it:mp){

auto &v = it.second;

ans = max(ans,v.back()-v[0]-1);

}

return ans;

}

};

1625. 执行操作后字典序最小的字符串

  • 这两种操作其实都是取模操作,都有周期性,完全可以可以暴力枚举所有情况。

  • b是偶数的话只能变动奇数位的数字,否则还可以变动偶数位的数字,两层循环分别枚举就可以了。

  • 小技巧,将s拼接成两份,然后截取子串就可以实现类似队列的循环操作。

  • 枚举

  • 时间复杂度: O ( S 2 ∗ D 2 ) O(S2*D2) O(S2∗D2)

class Solution {

public:

string findLexSmallestString(string s, int a, int b) {

<

你可能感兴趣的:(程序员,leetcode,散列表,面试)