zoukankan      html  css  js  c++  java
  • 算法问题删除k个数字是num最小

    删除k个数字是num最小

    案例:
    5 4 1 2 7 0 9 3 6 删掉一个数字后是 4 1 2 7 0 9 3 6
    123456; //12345
    0000 //0

    package algorithm.removedigits;
    
    public class RemoveDIgits {
        /**
         * 删掉k个数字使当前留下的数字最小
         * 5 4 1 2 7 0 9 3 6 删掉一个数字后是 4 1 2 7 0 9 3 6
         *
         * @param num
         * @return
         */
        public static int removeDigits(int num, int k) {
            //如果所有位数都是0 直接返回0 就好
            if(num == 0){
                return 0;
            }
    
            StringBuffer sb = new StringBuffer();
    
            String n = String.valueOf(num);
            char[] chars = n.toCharArray();
    
            //遍历到第几位的索引
            int index = 0;
            for (int j = 0; j < k; j++) {
                for (int i = 1; i < chars.length; i++) {
                    if (chars[i] < chars[i - 1]) {
                        sb.append(chars[i]);
                        break;
                    } else {
                        sb.append(chars[i - 1]);
                    }
                    index = i;
                }
            }
    
    
    
            //index + 1  是因为遍历的索引是当前比较过的位置,所以要从下一位开始
            //加k是因为原数组已经被截取了k位,所以也要算上
            //需要考虑本题必须截取k位,所以如果是123456 k = 1,那么返回结果是12345 6要截取掉
            for (int i = index + 1+ k; i < chars.length; i++) {
                sb.append(chars[i]);
            }
    
    
            return Integer.valueOf(sb.toString());
        }
    
        public static void main(String[] args) {
    //        int num = 541270936; //51270936
    //        int num = 123456; //12345
            int num = 00000; //0
            int k = 1;
            System.out.println(removeDigits(num, k));
        }
    }
    
    
    不会,我可以学;落后,我可以追赶;跌倒,我可以站起来!
  • 相关阅读:
    php
    php数据排序---array_multisort
    IOS 线程描述
    IOS 进程描述
    IOS 强指针(strong)和弱指针(weak)
    IOS autosizing(设置控件的固定位置大小)
    IOS UIActivityIndicatorView动画
    IOS UIImageView的帧动画
    IOS Block动画
    IOS UIView动画(封装动画)
  • 原文地址:https://www.cnblogs.com/xiaoshahai/p/15606346.html
Copyright © 2011-2022 走看看