PHP的三道面试题,求解,谢谢

一生小白 2018-03-28 08:34:34
...全文
397 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
一生小白 2018-03-29
  • 打赏
  • 举报
回复
谢谢!我第一题也找到了,稍微改了一下,但是不知道怎么添加特殊处理,1.1万的这个
function chrtonum($str){
    $num=0;
    $bins = array("零","一","二","三","四","五","六","七","八","九",'a'=>"个",'b'=>"十",'c'=>"百",'d'=>"千",'e'=>"万");//定义验证规则数组
    $bits = array('a'=>1,'b'=>10,'c'=>100,'d'=>1000,'e'=>10000);//定义十位数以上的对应替换数组
    //匹配验证规则,并替换
    foreach($bins as $key=>$val){
        if(strpos(" ".$str,$val)) $str=str_replace($val,$key,$str);

    }
    //分割字符串
    foreach(str_split($str,2) as $val){

        $temp=str_split($val,1);
        if(count($temp)==1) $temp[1]="a";
        if(isset($bits[$temp[0]])){
            $num=$bits[$temp[0]]+(int)$temp[1];
        }else{
            $num+=(int)$temp[0]*$bits[$temp[1]];
        }
    }
    return $num;
}
引用 2 楼 xuzuning 的回复:
2、
print_r(top(5, [1,2,3,1,2,3,4,0,4,6,8,7,5]));

function top($N, $seq) {
  $d = floor($N / 2);
  $len = count($seq);
  foreach($seq as $i=>$v) {
    if($i - $d >= 0 && $i + $d < $len && $v >= $seq[$i - $d] && $v >= $seq[$i + $d])
      $r[$i] = $v;
  }
  return $r;
}
瓜皮猫 2018-03-29
  • 打赏
  • 举报
回复
我可能用的是个假php,我连答案代码都看不懂。
果酱很好吃 2018-03-29
  • 打赏
  • 举报
回复
2、

$n = 5;
$seq = [1,2,3,1,2,3,4,0,4,6,8,7,5];
echo "<pre>";
print_r(top($n,$seq));
echo "</pre>";
function top($n,$arr){
    $mid = ceil($n / 2);
    $count = count($arr);
    $data = [];
    $tmp = [];
    foreach($arr as $k=>$v){
        if($k < $mid-1){
            continue;
        }
        if(($k + $mid) > $count){
            break;
        }
        for($i=1;$i<=$n;$i++){
            $tmp[] = $i < $mid ? $arr[$k-$i] : $arr[$k+$i-$mid];
        }
        if(max($tmp)==$v){
            $data[$k] = $v;
        }
        $tmp = [];
    }
    return $data;
}
3、另一种解法

$arr = array_combine(range('A','Z'),range('a','z'));
echo strtr('AbSiuAds',array_merge($arr,array_flip($arr)));
xuzuning 2018-03-29
  • 打赏
  • 举报
回复
2、
print_r(top(5, [1,2,3,1,2,3,4,0,4,6,8,7,5]));

function top($N, $seq) {
  $d = floor($N / 2);
  $len = count($seq);
  foreach($seq as $i=>$v) {
    if($i - $d >= 0 && $i + $d < $len && $v >= $seq[$i - $d] && $v >= $seq[$i + $d])
      $r[$i] = $v;
  }
  return $r;
}
xuzuning 2018-03-29
  • 打赏
  • 举报
回复
3、
$s = 'AbSiuads';
$r = join('', array_map(function($c) { return chr(ord($c)^32); }, str_split($s)));
echo $r;
一生小白 2018-03-29
  • 打赏
  • 举报
回复
引用 3楼果酱很好吃 的回复:
2、

$n = 5;
$seq = [1,2,3,1,2,3,4,0,4,6,8,7,5];
echo "<pre>";
print_r(top($n,$seq));
echo "</pre>";
function top($n,$arr){
    $mid = ceil($n / 2);
    $count = count($arr);
    $data = [];
    $tmp = [];
    foreach($arr as $k=>$v){
        if($k < $mid-1){
            continue;
        }
        if(($k + $mid) > $count){
            break;
        }
        for($i=1;$i<=$n;$i++){
            $tmp[] = $i < $mid ? $arr[$k-$i] : $arr[$k+$i-$mid];
        }
        if(max($tmp)==$v){
            $data[$k] = $v;
        }
        $tmp = [];
    }
    return $data;
}
3、另一种解法

$arr = array_combine(range('A','Z'),range('a','z'));
echo strtr('AbSiuAds',array_merge($arr,array_flip($arr)));
第二天能给备注一下吗?
源码直接下载地址: https://pan.quark.cn/s/854bd57df23a 在金融行业中,房产购置贷款是众多人在购置不动产时必须进行的一项财务规划。Matlab作为一种功能强大的数学及数据分析平台,经常被应用于各类复杂的运算,其中包括住房贷款的计算。本文将详细研究运用Matlab开发住房贷款计算程序的相关知识要点,以协助读者掌握如何借助编程技术处理实际的信贷问题。 1. **信贷种类** - **商业信贷**:此类贷款通常由金融机构提供,其利率会随市场行情变化,借款人可选用固定利率或浮动利率方案。 - **公积金信贷**:该类贷款获得政府机构的支持,利率一般低于商业信贷,但设有最高贷款金额的限制。 2. **偿付模式** - **等额本金偿付**:每月支付相同数量的本金,利息部分逐月减少,因此整体还款总额会逐步降低。 - **等额本息偿付**:每月支付固定金额的本金与利息组合,利息部分随本金的逐月减少而递减。 3. **住房贷款计算公式** - **等额本息偿付**:每月还款额=贷款本金×[月利率×(1+月利率)^(贷款期数)]÷[(1+月利率)^(贷款期数)-1]。 - **等额本金偿付**:每月应还本金=贷款总额/贷款期数,每月利息=(贷款余额-累计已还本金)×月利率。 4. **Matlab编程基础** - **变量设定**:在Matlab环境中,首要任务是设定贷款数额、年化利率、贷款时长等核心参数。 - **循环控制结构**:借助for循环来模拟每个还款周期的过程,进行本金与利息的计算。 - **函数构建**:将住房贷款的计算逻辑封装为函数,便于重复使用和测试不同条件下的结果。 5. **Matlab代码编写** - **等额本息函数实现**...

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧