码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-04-01 00:33:36      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:span   orm   edit   inpu   cout   return   tail   app   cti   

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;
    }
};

——学到了

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

标签:span   orm   edit   inpu   cout   return   tail   app   cti   

原文地址:https://www.cnblogs.com/cunyusup/p/10634134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!