两个大数组foreach,找出相同的key数量,所用的时间对比
<?php
function microtime_float() {
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
} for($i = 1;$i <= 10000;$i++) {
$data_1[$i] = 1;
}
for($i = 1001;$i <= 600000;$i++) {
$data_2[$i] = 1;
} $time_start = microtime_float();
$num = 0;
foreach ($data_1 as $key => $value) {
if ($data_2[$key]) {
$num++;
}
}
echo $num;
$time_end = microtime_float();
$delta_time = $time_end - $time_start;
echo '程序总用时:'.round($delta_time, 3).'秒。'; $time_start = microtime_float();
$num = 0;
foreach ($data_2 as $key => $value) {
if ($data_1[$key]) {
$num++;
}
}
echo $num;
$time_end = microtime_float();
$delta_time = $time_end - $time_start;
echo '程序总用时:'.round($delta_time, 3).'秒。';
?>
结果:9000程序总用时:0.003秒。9000程序总用时:0.595秒。
foreach放小的数组,速度比较快。
两个大数组foreach,找出相同的key数量,所用的时间对比的更多相关文章
- 在一个数组中,除了两个数外,其余数都是两两成对出现,找出这两个数,要求时间复杂度O(n),空间复杂度O(1)
题目:在一个数组中,除了两个数外,其余数都是两两成对出现,找出这两个数,要求时间复杂度O(n),空间复杂度O(1) 分析:这道题考察位操作:异或(^),按位与(&),移位操作(>> ...
- 作业帮:给定一个整数数组,找出其中两个数相加等于目标值(去重set)
题目描述 给定一个整数数组,找出其中两个数相加等于目标值 输入 [1,3,5,7,9,11] 10 输出 1,9 3,7 代码: import java.util.HashMap; import ja ...
- 刷题之给定一个整数数组 nums 和一个目标值 taget,请你在该数组中找出和为目标值的那 两个 整数
今天下午,看了一会github,想刷个题呢,就翻出来了刷点题提高自己的实际中的解决问题的能力,在面试的过程中,我们发现,其实很多时候,面试官 给我们的题,其实也是有一定的随机性的,所以我们要多刷更多的 ...
- C语言:对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中。-在数组中找出最小值,并与第一个元素交换位置。
//对传入sp的字符进行统计,三组两个相连字母“ea”"ou""iu"出现的次数,并将统计结果存入ct所指的数组中. #include <stdio.h& ...
- 用C#写一个函数,在一个数组中找出随意几个值相加等于一个值 与迭代器对比
算法!用C#写一个函数,在一个数组中找出随意几个值相加等于一个值比如,数组{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} 要找出那些数相加等 ...
- Leetcode33--->Search in Rotated Sorted Array(在旋转数组中找出给定的target值的位置)
题目: 给定一个旋转数组,但是你不知道旋转位置,在旋转数组中找出给定target值出现的位置:你可以假设在数组中没有重复值出现 举例: (i.e., 0 1 2 4 5 6 7 might becom ...
- [原]Java面试题-输入一个整型数组,找出最大值、最小值,并交换。
[Date]2013-09-19 [Author]wintys (wintys@gmail.com) http://wintys.cnblogs.com [Content]: 1.面试题 输入一个整型 ...
- js数组操作-找出一组按不同顺序排列的字符串的数组元素
从一组数组中找出一组按不同顺序排列的字符串的数组元素将字符串转换成数组后再对数组进行 sort 排序,abcd 和 bdca 使用 sort 排序后会变成 abcd,将拍好序的字符串作为对象的 key ...
- 数组中找出最小的K个数
题目 给出一个数组,找出K个最小的值 例如给出数组{5,2,4,3,1},给定K值3,则输出结果为{2,3,1} 程序 先给出第一个版本的程序 public static void printKNum ...
随机推荐
- nginx动态配置及服务发现那些事
Reference: http://xiaorui.cc/2016/10/16/nginx%E5%8A%A8%E6%80%81%E9%85%8D%E7%BD%AE%E5%8F%8A%E6%9C%8D% ...
- whatweb.rb 未完待续
#!/usr/bin/env ruby #表示ruby的执行环境 =begin # ruby中用=begin来表示注释的开始 .$$$ $. .$$$ $. $$$$ $$. .$$$ $$$ .$$ ...
- Error: Java heap space
在chd中 的hive中执行 (select count (*)) 或者mr程序都报Error: Java heap space 4.io.sort.mb 的作用 排序所使用的内存数量. 默认值 ...
- 解决nginx reload失败
1. 失败提示信息 nginx: [error] open() : No such file or directory) 2. 解决方法 /usr/local/nginx/sbin/nginx -c ...
- Memory Models And Namespaces
分开编译 不要把变量和函数的定义放到头文件中. 可以分开编译源文件,然后将它们连接起来生成最终的可执行文件. 如果你只修改了一个文件,你可以只重新编译这个文件,之前编译过的其他文件就不需要再次编译了, ...
- MFC使用自定义资源加载PNG
app.h #define RES_PNG _T("PNG")#define RES_JPEG _T("JPEG")#define RES_JIF _T(&qu ...
- springmvc 接受json参数的坑
构造json数据时候js对象中的值 一定要用 "" 双引号,不能用单引号,因为转成字符串后,到后台进行解析时,因为java认为单引号是单字符 ,转不成对应的字符串,所以会报错! 如 ...
- IDEA 中 同一个微服务 按照多个端口启动
网上讲这个东西的很多,抄来抄去的,大部分类似,多数没讲明白为什么那么配置. 譬如eureka.client.register-with-eureka和fetch-registry是否要配置,配不配区别 ...
- Tomcat数据源总结
一.数据源的由来 JDBC操作主要由以下几步组成: (1)Class.forName(); (2)Connection con = DriverManager.getConnection(); ...
- CRNA的使用
为了能让更多人感受 RN 的魅力,早在几个月前 React-community 就给出了一个不错的解决方案,可以让一个完全没接触过 RN 的人,从配环境开始5分钟实现 Hello Wolrd 的编写( ...