zoukankan      html  css  js  c++  java
  • 求一个数内含1个次数

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    /****
    ****author :hxy
    ****
    ****/
    public class Test {
    
        private final int n;
        public int cnt_all;
    
        public Test(int n) {
            this.n = n;
            cnt_all = 0;
        }
    
        // 分多个线程计算
        public void binaryHandlerN(int threadNum) {
            int gap = n / threadNum;
            int tmp = 0;
            do {
                Thread t = new Thread(new _handler(tmp + 1, tmp + gap));
                tmp = tmp + gap;
                t.run();
            } while (tmp < n);
        }
    
        // 匹配每个数有几个1
        private int rexStr(int i) {
            int cntForEachNum = 0;
            Matcher m = Pattern.compile(String.valueOf(1)).matcher(String.valueOf(i));
            while (m.find()) {
                cntForEachNum++;
            }
            return cntForEachNum;
        }
    
        class _handler implements Runnable {
            int cnt = 0;
            int num1 = 0;
            int num2 = 0;
    
            public _handler(int num1, int num2) {
                this.num1 = num1;
                this.num2 = num2;
                if (num2 > n) {
                    this.num2 = n;
                }
            }
    
            @Override
            public void run() {
                int cnt = 0;
                for (int i = num1; i <= num2; i++) {
                    cnt = cnt + rexStr(i);
                }
                cnt_all = cnt + cnt_all;
            }
        }
    
        public static void main(String[] args) {
            Test t = new Test(44);
            t.binaryHandlerN(5);
            System.out.println("1重复的次数为:" + t.cnt_all);
        }
    }
    计划、执行、每天高效的活着学着
  • 相关阅读:
    大厂的面试官是如何挑人的?
    搞懂这7个Maven问题,带你吊打面试官!
    Spring Cloud Eureka 注册安全一定要做到位!
    09 webpack的介绍
    08 node.js 的使用
    07 Node.js安装及环境配置
    06-Nodejs介绍
    05-面向对象
    Mysql 的使用方法
    04-对象的单体模式
  • 原文地址:https://www.cnblogs.com/huxiaoyun90/p/3100180.html
Copyright © 2011-2022 走看看