问个算法题 删除数组中连续重复的值

原数组:
$a = [“加”,”加”,”加”,”离”,”离”,”加”]

现在需要给 只要数组连续就删除保留一个,数组元素只有加和离两个值,做到数组元素间隔组成

比如上面的数组经过算法之后变成 [“加”,”离”,”加”] 这样

问个算法题 删除数组中连续重复的值

(ps) 需要有个高校点的算法 我自己写了个递归的 但是数据一多 就转圈了 很慢

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

直接一个循环就好了, 代码大概如下

<?php

$a = ['加', '加', '加', '离', '离', '加'];

$last = '';
$curr = '';


$result = [];
foreach ($a as $v) {
    $curr = $v;

    if ($last !== $curr) {
        $result[] = $curr;
    }

    $last = $curr;
}


var_dump($result);
1年前
讨论数量: 3

直接一个循环就好了, 代码大概如下

<?php

$a = ['加', '加', '加', '离', '离', '加'];

$last = '';
$curr = '';


$result = [];
foreach ($a as $v) {
    $curr = $v;

    if ($last !== $curr) {
        $result[] = $curr;
    }

    $last = $curr;
}


var_dump($result);
1年前

连续重复的,不需要递归啊。循环一次就行了。记录前一个值,如果当前值跟前一个不一样,就放入结果数组

1年前

直接一个循环就好了, 代码大概如下

<?php

$a = ['加', '加', '加', '离', '离', '加'];

$last = '';
$curr = '';


$result = [];
foreach ($a as $v) {
    $curr = $v;

    if ($last !== $curr) {
        $result[] = $curr;
    }

    $last = $curr;
}


var_dump($result);
1年前

array_unique

1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!