力扣第268周周赛(下)

  • 题目
  • 思路与算法
  • 代码实现
  • 写在最后

题目

    1. 区间内查询数字的频率
    1. k 镜像数字的和

思路与算法

  1. 第三题直接map加二分即可,见代码
  2. 这个第四题看了大家的题解有直接打表的,这题本意应该不是这个意思,三个基本题目的综合体,也不怎么复杂,主要逻辑即可。

代码实现

  1. 区间内查询数字的频率
class RangeFreqQuery {public:unordered_map<int,vector<int>> res;public:RangeFreqQuery(vector<int>& arr) {for (int i = 0; i < arr.size(); ++i) {res[arr[i]].push_back(i);}}int query(int left, int right, int value) {const vector<int> & pos = res[value];auto l = lower_bound(pos.begin(), pos.end(), left);auto r = upper_bound(pos.begin(), pos.end(), right);return r - l;}
};/*** Your RangeFreqQuery object will be instantiated and called as such:* RangeFreqQuery* obj = new RangeFreqQuery(arr);* int param_1 = obj->query(left,right,value);*/
  1. k 镜像数字的和
using ll = long long;
class Solution {public:long long kMirror(int k, int n) {vector<ll> result;int cnt = 0;ll st = 1;while(cnt < n) {ll ed = 10 * st;for(int flag = 0; flag <= 1 && cnt < n; ++flag) {for(ll i = st; i < ed; ++i) {ll p = convertPalindrome(i, flag);string kBaseNum = convertBaseNum(p, k);if(isPalindrome(kBaseNum)) {result.push_back(p);if(++cnt >= n) break;}}}st *= 10;}ll sum = 0;for(ll num : result) {sum += num;}return sum;}// 回文子串检测bool isPalindrome(const string &num){int left = 0;int right = num.size() - 1;for (int i = left, j = right; i < j; ++i,--j) {if(num[i] != num[j])return false;}return true;}// 将十进制转化为回文数字ll convertPalindrome(ll num, int flag) {ll ret = num;if(!flag) num /= 10;while(num) {ret = ret * 10 + num % 10;num /= 10;}return ret;}// 将十进制串转换为base进制的回文数字字符串string convertBaseNum(ll num,int base){string res;while (num) {res += num % base + '0';num /= base;}reverse(res.begin(),res.end());return res;}};

写在最后

开题开题,睡觉

20211202:力扣第268周周赛(下)相关推荐

  1. 20211201:力扣第268周双周赛(上)

    力扣第268周双周赛(上) 题目 思路与算法 代码实现 写在最后 题目 两栋颜色不同且距离最远的房子 给植物浇水 思路与算法 双指针遍历即可,维护那个索引最大差值即可. 模拟题,正常情况需要每次走一步 ...

  2. 20211130:力扣第267周周赛(下)

    力扣第267周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 2075 解码斜向换位密码 2076.处理含限制条件的好友请求 思路与算法 第三题是一个比较简单的索引计算题,只需要将斜着放的字符 ...

  3. (补)20210623:力扣第246周周赛(下)

    力扣第246周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 统计子岛屿 查询差绝对值的最小值 思路与算法 统计子岛屿 : 老DFS了,总之就是遍历题,无需多言,搜就行了. 查询差绝对值的最小 ...

  4. 20210602:力扣第243周周赛(下)

    力扣第243周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 使用服务器处理任务 准时抵达会议现场的最小跳过休息次数 思路与算法 使用服务器处理任务:典型双堆问题,逻辑清晰即可写出代码,今天两 ...

  5. 20210427:力扣第238周周赛(下)

    力扣第238周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 所有元音按顺序排布的最长子字符串 最高建筑高度 思路与算法 依旧是滑动窗口,再熟悉滑动窗口的写法即可. 不加解释,本题参考零神专业 ...

  6. 20210424:力扣第237周周赛(下)

    力扣第237周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 单线程 CPU 所有数对按位与结果的异或和 思路与算法 第一题属于一类cpu流水线题目,实现常规方法堆加排序即可. 第二题属于数学 ...

  7. 20210218:力扣第228周周赛(下)

    力扣第228周周赛(下) 题目 思路与算法 代码实现 写在最后 题目 袋子里最少数目的球 一个图中连通三元组的最小度数 思路与算法 经典二分搜索题目,套模板,主要搞清楚如何检查遍历的每一个数是否符合不 ...

  8. 20201016:力扣第210周周赛题解(下)

    力扣第210周周赛题解(下) 题目 思路与算法 代码实现 写在最后 题目 分割两个字符串得到回文串 统计子树中城市之间最大距离 思路与算法 第三题主要逻辑通顺就行,注意分割的索引是一样的,那么判断回文 ...

  9. 20210612:力扣第244周周赛题解(上)

    力扣第244周周赛(上) 题目 思路与算法 代码实现 写在最后 题目 判断矩阵经轮转后是否一致 使数组元素相等的减少操作次数 思路与算法 判断矩阵经轮转后是否一致:本题的前置题目是这道46:.旋转图像 ...

最新文章

  1. JS栈结构的简单封装
  2. 谁来担责!无人驾驶汽车还需要汽车保险吗?
  3. java指令重排序代码演示
  4. android系统五大布局,android 五大布局文件
  5. Pandas高级操作
  6. 如何在firefox下获取下列框选中option的text
  7. Adobe 修复Commerce 和 Magento 平台中的又一个严重RCE
  8. 多线程写图像文件的一点小测试
  9. Atitit uke plnsy安全隐私保护法案 目录 第一章 一般规定 2 第1节 主题与目标 2 第二章 常见安全原则 3 第1节 隔离 保密 shell 3 第2节 隐藏 保密 不出头 3
  10. java keytool下载_Java中Keytool工具的使用总结(一)
  11. 利用R语言进行探索性数据分析(EDA)
  12. EOJ 2706 Fenwick Tree 树状数组找规律
  13. HR必备基础能力之人性
  14. opencv 去高光
  15. MBR15200FAC-ASEMI插件肖特基二极管MBR15200FAC
  16. 使用 Google 的 zx 库在 Node 中编写 Shell 脚本技巧你会了吗
  17. PAT 乙级练习 1068 万绿丛中一点红 - 超级详细的思路讲解
  18. python 列表乘一个数字
  19. 【BZOJ1645】[Usaco2007 Open]City Horizon 城市地平线 离散化+线段树
  20. 线路/信道编码技术(1)——8B/10B编码

热门文章

  1. 如何搞懂容器的核心技术点?
  2. “Scrum 敏捷开发都是骗人的!”
  3. 百度邀您来听一场云存储的大戏!
  4. Python、Java、C#、Perl 创始人聚首,编程语言要变天?
  5. Python 爬取分析全国 12 个城市 4 万条房价信息,告诉你该怎样买房?
  6. 为什么要使用 SQLite 数据库?
  7. 1.08 亿条投注信息遭泄露,Elasticsearch 是祸因?!
  8. iPhone 的黄金时代已结束!
  9. 为什么程序员愿意加入管理糟糕的创业公司?
  10. python 反传播_纯Python实现反向传播(BP算法)(5)