看了看,之前的那俩答案都是不能用的。LZ真是苦命。。

我对子数组的定义是像 ['a', 'b', 'c', 'a'] 这样的单个数组。

我的答案:

$result = array();

foreach ($listData as $line) {

//子数组内部去重,再组装回原来的格式

$result[] = array_unique($line);

}

//子数组先去重再合并的结果数量 和 先合并子数组再去重的结果数量 做比较。

//如果是相同的,意味着不存在跨子数组的重复,只存在子数组内部重复,所以`True`

var_dump(count(array_merge(...$result)) === count(array_unique(array_merge(...$listData))));

我这个答案调用系统函数次数比较多,看起来简洁一些,但是PHP array_xxx 这类函数很大一部分性能是不具备优势的,如果不用这些函数,能相对程度提高运行效率。

目前, @springhack 的效率是最高的。而且在各种情形下都能保持最高效率。

方便理解的辅助参考信息:

原始数据:

$listData = [

'111' => ['a', 'b', 'c', 'a'],

'222' => ['d', 'e', 'f', 'f', 'b'],

'333' => ['g', 'h'],

'444' => ['i', 'j']

];

然后 $result 最终是这样的:

$listData = [

'111' => ['a', 'b', 'c'],

'222' => ['d', 'e', 'f', 'b'],

'333' => ['g', 'h'],

'444' => ['i', 'j']

];

子数组先去重再合并的结果

Array

(

[0] => a

[1] => b

[2] => c

[3] => d

[4] => e

[5] => f

[6] => b

[7] => g

[8] => h

[9] => i

[10] => j

)

用于和上面进行数量(数组元素数量)比较的,所谓的“先合并子数组再去重的结果”:

Array

(

[0] => a

[1] => b

[2] => c

[4] => d

[5] => e

[6] => f

[9] => g

[10] => h

[11] => i

[12] => j

)

2016php技术面试题,一个php的面试题,大家看看相关推荐

  1. 一个经典编程面试题的“隐退”

    [转] 一个经典编程面试题的"隐退" 作者:童燕群 | 发布日期:三月 22, 2014 本文由 伯乐在线 – 王伯 翻译自 The Noisy Channel. 面试程序员很困难 ...

  2. 3个CCIE对一个工程师的面试题(远去之路无比艰辛啊!)

    3个CCIE对一个工程师的面试题这是某人10月初的一个面试题目,售后职位:高级网络工程师.面试官是三位CCIE,面试过程历时2个多小时,印象非常深刻.现在这个offer基本已经确定了,事主还在考虑诸如 ...

  3. 大学c语言基本程序,一个大学C语言试题的简单实现--员工信息管理程序

    一个大学C语言试题的简单实现,供参考. 题目: 员工信息管理程序 主要用结构体数组实现,用结构体表示每项记录,数据为:员工编号.姓名.性别.年龄.工龄.职务.部门.住址. 设计各个函数,分别实现以下功 ...

  4. 谷歌给 Max Howell 出的一个简单算法面试题:翻转二叉树

    这个问题是谷歌给 Max Howell 出的一个算法面试题 谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了. 谷歌给 Max ...

  5. 江西省一级计算机考试试题,江西省计算机一级考试试题

    计算机一级考试试题 江西省计算机一级考试试题 一.选择题 1.微机中1K字节表示的二进制位数是( ). A.1000 B.8x1000 C.1024 D.8x1024 2.计算机硬件能直接识别和执行的 ...

  6. 软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题6-10题)...

    2017年上半年信息系统项目管理师上午试题分析与答案(试题1-5题) 6.()不是获取需求的方法. A.问卷调查 B.会议讨论 C.获取原型 D.决策分析 [软考新思维] 需求是获取的得来的,不是决策 ...

  7. 腾讯python面试题_面试题 | 腾讯数据分析面试题分享

    原标题:面试题 | 腾讯数据分析面试题分享 annatx | 作者 高级农民工 | 来源 今天给各位分享两道数据分析试题, 这是腾讯数据分析面试官在面试时考察候选人喜欢出的题,属于硬性技能考察题目,特 ...

  8. 一次Java解析数独的经历,java面试题,java高级笔试题

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 1. ...

  9. 上海市高校计算机一级考试试题,上海市计算机一级考试试题

    上海市计算机一级考试试题 2016年第一计算机考试时间是3月26-29日,为帮助同学们进一步复习,下面小编为大家整理了一级考试题,希望能给各位考生带来帮助! 1.叙述WORD标题栏的主要作用? 答:W ...

最新文章

  1. 开工快乐!AI内参邀你继续学习,并送上50元优惠券!
  2. C中printf函数的实现原理
  3. Asp.net的用户管理
  4. NodeJS实现TCPSocket(套接字)服务器和客户端
  5. cn101388899 一种web服务器前后台关联审计方法及系统,启明星辰数据库审计精确识别操作者...
  6. 如何为每个URL连接设置自定义SSLSocketFactory的TrustManager
  7. c语言两个浮点数相加_C语言中两个浮点数或双精度数的模数
  8. java 对象视图框架_Stripes视图框架Java对象属性验证和prototype.js Ajax的测试
  9. 二. 2d-2d 对极约束 估计相机位姿pose(R,t)
  10. java script eval_「eval」js中的eval方法详解(一)–eval方法的初级应用 - seo实验室...
  11. webkit内核浏览器的CSS写法
  12. 跟我学算法-集成算法
  13. 电学计算机专业英语,电器电子英语词汇(O)
  14. coldfusion_ColdFusion中的数据结构简介
  15. 计算机无法与internet同步时间,win7系统能上网可是无法同步Internet时间的解决方法...
  16. 爬虫获取微博首页热搜
  17. 虚拟机恢复初始化设置
  18. AutoCAD 2007官方.NET教程(一)(C#版)
  19. 光猫超级管理员账号密码和Telnet登陆
  20. 【hackerrank】World CodeSprint 11 T6

热门文章

  1. product thumbnail区域未能显示的原因分析
  2. debug LUW3 - callback workflow - ABAP工作流的调试(第三部分)
  3. NULL和INITIAL的区别 and database interface
  4. use web IDE to commit change to git
  5. Docker入门系列之三:如何将dockerfile制作好的镜像发布到Docker hub上
  6. 基于java 工单管理_实训任务工单1-2(编写规范Java代码) 实训任务工单1-2(编写规范Java代码).docx_学小易找答案...
  7. 安装python3.7.0的步骤_CentOS7下简单安装python3.7.0步骤
  8. 如何定义一个类对象并用next()的方法使用_深入理解-可迭代对象、迭代器(20个为什么)...
  9. java加载自己写的类_java 自定义类加载器从磁盘或网络加载类
  10. 将两个有序链表合并为一个链表任然有序C语言