-
<?php
-
// 生成100万个数字
-
$array = array();
-
for ($i = 0; $i < 1000000; $i++) {
-
$array[$i] = 1000000 - $i; // 最好的情况 最大的3个数字在前3个
-
// $array[$i] = $i; // 最坏的情况 最大的3个数字在后3个
-
}
-
-
// 声明数组
-
$result = array(0, 0 ,0);
-
-
// 开始遍历查找
-
foreach ($array as $i => $value) {
-
if ($array[$i] > $result[2]) { // 与第3位数字对比
-
$temp = $array[$i];
-
$array[$i] = $result[2];
-
$result[2] = $temp;
-
if ($result[2] > $result[1]) { // 与第2位数字对比
-
$temp = $result[2];
-
$result[2] = $result[1];
-
$result[1] = $temp;
-
if ($result[1] > $result[0]) { // 与第1位数字对比
-
$temp = $result[1];
-
$result[1] = $result[0];
-
$result[0] = $temp;
-
}
-
}
-
}
-
}
-
-
/**
-
* 结果
-
* Array ( [0] => 1000000 [1] => 999999 [2] => 999998 )
-
*/
-
print_r($result);
十二 18
十二 06
给定两个正整数(二进制形式表示)A和B,问把A变为B需要改变多少位(bit)?
也就是说,整数A 和B 的二进制表示中有多少位是不同的?
先异或A和B得结果C,在统计结果C的二进制中有多少位1,即求到了A和B的二进制中有多少不同的位N。
-
<?php
-
$n = 0;
-
$a = 10;
-
$b = 20;
-
$c = $a ^ $b;
-
-
echo 'A:' . str_pad(decbin($a), 8, 0, STR_PAD_LEFT) . '<br />';
-
echo 'B:' . str_pad(decbin($b), 8, 0, STR_PAD_LEFT) . '<br />';
-
echo 'C:' . str_pad(decbin($c), 8, 0, STR_PAD_LEFT) . '<br />';
-
while ($c) {
-
$c &= ($c - 1);
-
$n++;
-
}
-
echo 'N:' . $n . '<br />';
十 13
-
/**
-
* 计算2个日期之间相隔的天数
-
*
-
*/
-
function dateDiff(startDate, endDate)
-
{
-
var days = 0;
-
-
if (startDate == endDate) {
-
return days;
-
}
-
-
var sDate = startDate.split('-');
-
var eDate = endDate.split('-');
-
-
var sYear = parseInt(sDate[0]);
-
var sMonth = parseInt(sDate[1]);
-
var sDay = parseInt(sDate[2]);
-
var eYear = parseInt(eDate[0]);
-
var eMonth = parseInt(eDate[1]);
-
var eDay = parseInt(eDate[2]);
-
-
for (var y = sYear; y <= eYear; y++) {
-
if (y == eYear) {
-
for (var m = 1; m <= eMonth; m++) {
-
if (m == eMonth) {
-
days = days + eDay - sDay;
-
} else if (m >= sMonth) {
-
days = days + getMonthDays(y, m);
-
}
-
}
-
} else {
-
days = days + ((leapYear(y)) ? 366 : 365);
-
}
-
}
-
-
return days;
-
}
-
-
-
function getMonthDays(year, month)
-
{
-
var ar = new Array();
-
ar[1] = 31;
-
ar[2] = (leapYear(year)) ? 29 : 28;
-
ar[3] = 31;
-
ar[4] = 30;
-
ar[5] = 31;
-
ar[6] = 30;
-
ar[7] = 31;
-
ar[8] = 31;
-
ar[9] = 30;
-
ar[10] = 31;
-
ar[11] = 30;
-
ar[12] = 31;
-
-
return ar[month];
-
}
-
-
function leapYear(year)
-
{
-
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
-
return true;
-
}
-
-
return false;
-
}
九 30
公司组织的2天黄山游自我感觉收获很大。
26日培训的收获:
1. 想法不等于目标
2. 目标必须清晰必须量化
3. 完不成目标必须付出沉重代价
4. 强者制定规则 弱者遵守规则
唯一的遗憾就是培训时间有些短,应该再搞2天。
27日去翡翠谷,可能和我小时候的生活环境有关系,翡翠谷的风景并不是很吸引我。
意外的收获:
感谢李敏
3p=2男1女
双飞=1男2女
感谢赵总
男的接电话:需要按摩服务吗?
女的接电话:需要足疗服务吗?
感谢所有52PK的同事。
八 03
域名换成 blog.henghome.com
301 跳转规则:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^henghome.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.henghome.com$
RewriteRule ^(.*)$ http://blog.henghome.com/$1 [R=301,L]
四 09
三 06
2010年3月5日 19:52:58 QQ同时间在线用户1亿,太强大了。
腾讯一直在模仿,只有QQ是最成功的。
唯一的遗憾的QQ运行在Windows系统中,再强也强不过Microsoft,腾讯会不会出操作系统?
雨林木风和腾讯有没有联系?



