zoukankan      html  css  js  c++  java
  • LeetCode 1689. 十-二进制数的最少数目 模拟 观察规律

    地址 https://leetcode-cn.com/problems/partitioning-into-minimum-number-of-deci-binary-numbers/

    如果一个十进制数字不含任何前导零,且每一位上的数字不是 0 就是 1 ,那么该数字就是一个 十-二进制数 。例如,1011100 都是 十-二进制数,而 1123001 不是。
    
    给你一个表示十进制整数的字符串 n ,返回和为 n 的 十-二进制数 的最少数目。
    
     
    
    示例 1:
    
    输入:n = "32"
    输出:3
    解释:10 + 11 + 11 = 32
    示例 2:
    
    输入:n = "82734"
    输出:8
    示例 3:
    
    输入:n = "27346209830709182346"
    输出:9
     
    
    提示:
    
    1 <= n.length <= 105
    n 仅由数字组成
    n 不含任何前导零并总是表示正整数
    
     

    算法1
    由于01数字的特殊性,给出数字的某一位如果为x,那么至少需要x个十-二进制数


    (x为0~9之间,不考虑多个十-二进制数相加产生的进位,因为那需要的十-二进制数个数肯定大于9)
    所以答案就数字N中各位位数最大的数

    class Solution {
    public:
        int minPartitions(string n) {
            char maxC = '0';
            for(int i = 0; i < n.size() ; i++){
                if(n[i] > maxC){maxC = n[i];}     
            }
            
            return maxC-'0';
        }
    };
  • 相关阅读:
    mvc 在ii7上发布时遇到的问题只解决
    @Html.Raw 显示Html的标签
    补发————grid布局
    补发————DOM与BOM
    web实验博客3.css-position
    web专业课学习及往后方向发展
    bom&dom
    网格代码
    简单用户注册表单
    自我介绍
  • 原文地址:https://www.cnblogs.com/itdef/p/14273881.html
Copyright © 2011-2022 走看看