美文网首页
将正整数数组组合最小整数

将正整数数组组合最小整数

作者: OLDBIG9 | 来源:发表于2019-10-07 22:01 被阅读0次

思路:同一组合而成的整数位数是固定的,就是让高位的数值最小化
可以将每个元素转为字符串后再将数组升序排序,然后implode拼接成整数字符串

Code:

<?php

$arr = [12,678,45,93,15];

/**
 *正整数数组组合成最小的整数
 */
function array2Ints(Array $arr) :Int {
    if(empty($arr)){
        return 0;
    }
    if(count($arr) == 1){
        return intval($arr[0]);
    }

    foreach($arr as $k => $v){
        //拼接下划线是为了方便数组排序,纯数字的字符串排序还是按照数值大小排序
        $arr[$k] = '_' . strval($v);
    }

    sort($arr);

    return intval(str_replace('_', '', implode('',$arr)));
}

var_dump(array2Ints($arr));//Int(12154567893)

如有更好的思路请多指教

相关文章

  • 将正整数数组组合最小整数

    思路:同一组合而成的整数位数是固定的,就是让高位的数值最小化可以将每个元素转为字符串后再将数组升序排序,然后imp...

  • 209. 长度最小的子数组

    209. 长度最小的子数组 问题 给定一个含有 个正整数的数组和一个正整数 ,找出该数组中满足其和 的长度最小的...

  • 最小正数

    最小正数 题目:给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。 解法 新申请和原来一样长数组,将原...

  • 长度最小的子数组 Minimum Size Subarray S

    题目: LeetCode 209. 长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组...

  • LeetCode-209-长度最小的子数组

    长度最小的子数组 题目描述:给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥...

  • Leetcode --- 子数组问题(滑动窗口)

    1.长度最小的子数组(209 - 中) 题目描述:给定一个含有 n 个正整数的数组和一个正整数 target 。 ...

  • 209. 长度最小的子数组

    给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小...

  • leetCode进阶算法题+解析(四十二)

    组合总和4 题目:给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。 示例:nums...

  • 209#长度最小子数组

    题目描述 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组...

  • 209. 长度最小的子数组

    题目描述 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组...

网友评论

      本文标题:将正整数数组组合最小整数

      本文链接:https://www.haomeiwen.com/subject/inlmuctx.html