字符串,每个里面包含0-N个数字,如3,8,2,编写函数,将两个这样的字符串合并,并且输出的字符串里面没有重复的数字,并从大到小排列.

简介: 字符串,每个里面包含0-N个数字,如3,8,2,编写函数,将两个这样的字符串合并,并且输出的字符串里面没有重复的数字,并从大到小排列.
<?php
  $str = '1,2,1';
  
  function hb($str_arr){
    $str_arr = explode(',', $str);
    $len = count($str_arr);
    if($len==0 || $len==1){
      echo '参数不能少于两个';
      return;
    }
    // 定义数组
    $new_arr = array();
    if($len==2){
      // 小于等于2
      $new_arr=array($str_arr[0]*10+$str_arr[1],$str_arr[1]*10+$str_arr[0]);
    }else{
      for ($i=0; $i < $len; $i++) { 
        for ($j=2; $j > 0; $j--) { 
          $new_num = $str_arr[$i]*10+$str_arr[$j];
          array_push($new_arr, $new_num);
        }
      }
    }
      //去除重复
    $unarr = array_unique($new_arr);
    // 从大到小
    rsort($unarr);
    // 转化为字符串
    $newstr = implode(',', $unarr);
      echo $newstr;
  }
  hb($str_arr);
?>


欢迎评论,留言.共同进步

目录
相关文章
给定一个正整数N,将其表示为数字1,3,7,15相加的形式输出。请编码找出使上述数字出现的总次数最少(每个数字可以重复使用)的组合。
给定一个正整数N,将其表示为数字1,3,7,15相加的形式输出。请编码找出使上述数字出现的总次数最少(每个数字可以重复使用)的组合。
|
3月前
|
存储 Java 数据处理
|
4月前
去除数组中重复的那个数字
去除数组中重复的那个数字
|
运维 Shell Python
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(一)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)
132 0
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
题目:下列给定程序中函数fun的功能是:从p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。
|
运维 Shell Perl
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(二)
131 0
|
存储 算法 JavaScript
寻找数组中的重复数字
寻找数组中的重复数字
寻找数组中的重复数字
有一个长度是10的数组,数组内有10个人名,要求去掉重复的人名,并输出
有一个长度是10的数组,数组内有10个人名,要求去掉重复的人名,并输出
314 0
|
测试技术
字符串中有多少个不重复的字符并按由前到后的顺序输出一个新的字符串和该字符串长度的整数
字符串中有多少个不重复的字符并按由前到后的顺序输出一个新的字符串和该字符串长度的整数
88 0