zoukankan      html  css  js  c++  java
  • Leetcode 1022. 可被 K 整除的最小整数

    1022. 可被 K 整除的最小整数

     
     
    • 用户通过次数74
    • 用户尝试次数262
    • 通过次数75
    • 提交次数1115
    • 题目难度Medium

    给定正整数 K,你需要找出可以被 K 整除的、仅包含数字 1 的最小正整数 N。

    返回 N 的长度。如果不存在这样的 N,就返回 -1

    示例 1:

    输入:1
    输出:1
    解释:最小的答案是 N = 1,其长度为 1。

    示例 2:

    输入:2
    输出:-1
    解释:不存在可被 2 整除的正整数 N 。

    示例 3:

    输入:3
    输出:3
    解释:最小的答案是 N = 111,其长度为 3。

    提示:

    • 1 <= K <= 10^5

     



     
     
    class Solution {
    public:
        int smallestRepunitDivByK(int K) {
            set<int> s;
            int c = 1;
            int prod = 1%K;
            while(!s.count(prod)) { //没有碰到过
                if(prod == 0) {
                    return c;
                }
                s.insert(prod);
                prod = (prod*10+1)%K; //这也能用mo来算。。
                cout << prod << " ";
                ++c;
            }
            return -1;
        }
    };

    ——学到了

  • 相关阅读:
    Commander Nodejs 命令行接口
    数据库集群 ---续集
    数据库集群
    实时查看linux下的日志
    自动化测试
    python中list和dict
    super与this的用法
    数据类型
    父类调用子类方法
    子类调用父类方法
  • 原文地址:https://www.cnblogs.com/cunyusup/p/10634134.html
Copyright © 2011-2022 走看看