当前位置: 首页 > article >正文

力扣3272.统计好整数的数目

力扣3272.统计好整数的数目

  • 贪心

    • 枚举所有回文数,再找不重复的排列组合

    • 因为是个回文数,所有只找左半边即可

    • 在这里插入图片描述

    • 最终排列组合的个数为上式

  •   class Solution {
      public:
          long long countGoodIntegers(int n, int k) {
              vector<long long> fac(n+1);
              fac[0] = 1;
              //求阶乘
              for(int i=1;i<=n;i++)
                  fac[i] = fac[i-1] * i;
              long long ans = 0;
              //是否遍历过该回文数
              unordered_set<string> vis;
              int base = pow(10,(n-1)/2);
              for(int i=base;i<base*10;i++)
              {
                  string s = to_string(i);
                  //加上右半边
                  s += string(s.rbegin() + (n%2),s.rend());
                  //stoll将string转为longlong
                  if(stoll(s) % k)
                      continue;
                  ranges::sort(s);
                  //遍历过
                  if(!vis.insert(s).second)
                      continue;
                  int cnt[10]{};
                  //记录每个数字出现次数
                  for(char c:s)
                      cnt[c-'0'] ++;
                  //全排列,还要去重复
                  long long res = (n-cnt[0])*fac[n-1];
                  //去重复
                  for(int c:cnt)
                      res /= fac[c];
                  ans += res;
              }
              return ans;
          }
      };
    

http://www.kler.cn/news/289920.html

相关文章:

  • Ansible的脚本:playbook
  • 获取4字节数据中比特为 1 的总数的方法
  • 线性代数教材书籍推荐
  • 前端面试:分类算法列一下有多少种应用场景?
  • Automatic Trim Implementation
  • 过滤器Filter(JavaEE有三大组件: servlet filter linstener)
  • Ae关键帧动画基础练习-街道汽车超车
  • Oracle查询优化--分区表建立/普通表转分区表
  • python图像类型分类汇总
  • 代码随想录训练营day35|46. 携带研究材料,416. 分割等和子集
  • 荆州农商行资产质量下行压力不减,参股多家银行均有股权被冻结
  • Find My轮椅|苹果Find My技术与轮椅结合,智能防丢,全球定位
  • Spark框架
  • Nginx: 使用KeepAlived配置实现虚IP在多服务器节点漂移及Nginx高可用原理
  • 12、Flink 流上的确定性之流处理详解
  • Tomcat8版本以上配置自定义400错误页面
  • ElasticSearch-基础操作
  • PDF处理技巧:如何有效处理 PDF 旋转的技巧
  • WebGIS与WebGL是什么,两者之间的关系?
  • Transformer直接预测完整数学表达式,推理速度提高多个数量级
  • ElementUI实现el-table组件的合并行功能
  • vs2017 Qt CMakeList.txt添加生成Qt LinguistTools的ts文件
  • 程序员学Python编程规范(简单明了!)
  • ESP8266下载固件→连接阿里云
  • 关于SpringMVC的理解
  • linux 内核代码学习(七)
  • 2024 第七届“巅峰极客”网络安全技能挑战赛初赛 Web方向 题解WirteUp
  • go语言自定义包并在其它地方导入
  • 什么是感知器?
  • opencv入门教程