PR从0升到3

Posted by 冰河 at 23:02 32 Responses » 32,322 Views
272011

很久不关注博客的PR了。在博赚恋吧看到PR更新了,就顺手查了查,发现www.binghe.org的PR居然从0升到了3。

从2009年11月开始写博客,那时用的域名是iotax.net,没过多久赶上PR更新,一个新域名居然从0升到了2。

2010年3月的时候换了新域名icyhe.com,并将iotax.net做了跳转,后来PR再次更新,新域名PR也变成了2。

2010年10月的时候注册了binghe.org,一直沿用至今。icyhe.com也做了跳转,但是binghe.org的PR一直是0,现在又赶上PR更新,居然升到了3。

自从进了IBM实习以来,博客更新就不规律了,但尽量坚持更新,别荒废了。

博客以技术、学术和编程为主,较少涉及个人情感。欢迎同类的高质量博客交换友链。

092011

Linux下的fg和bg命令是进程的前后台调度命令,即将指定号码(非进程号)的命令进程放到前台或后台运行。比如一个需要长时间运行的命令,我们就希望把它放入后台,这样就不会阻塞当前的操作;而一些服务型的命令进程我们则希望能把它们长期运行于后台。

进程前后台操作用到以下命令或按键:

Ctrl+C

终止并退出前台命令的执行,回到SHELL

Ctrl+Z

暂停前台命令的执行,将该进程放入后台,回到SHELL

jobs

查看当前在后台执行的命令,可查看命令进程号码

&

运行命令时,在命令末尾加上&可让命令在后台执行

fg N

将命令进程号码为N的命令进程放到前台执行,同%N

bg N

将命令进程号码为N的命令进程放到后台执行

参考链接:http://witmax.cn/linux-fg-bg.html

无密码远程访问Linux主机

Posted by 冰河 at 13:18 6 Responses » 13,924 Views
302011

分2种情况讨论:本机是Linux或者Windows Continue reading »

中位数查找问题

Posted by 冰河 at 17:55 3 Responses » 17,083 Views
292011

1.有两个已排好序的数组A和B,长度均为n,找出这两个数组的中间元素。要求时间代价为O(logn)。

然后再论证平均时间复杂度(要不就是最坏时间复杂度)为O(logn)。

大牛给的解法:

Say the two arrays are sorted and increasing, namely A and B.
It is easy to find the median of each array in O(1) time.
Assume the median of array A is m and the median of array B is n.
Then,
1′ If m=n, then clearly the median after merging is also m, the algorithm holds.
2′ If m<n, then reserve the half of sequence A in which all numbers are greater than
m, also reserve the half of sequence B in which all numbers are smaller than n.
Run the algorithm on the two new arrays.
3′ If m>n, then reserve the half of sequence A in which all numbers are smaller than
m, also reserve the half of sequence B in which all numbers are larger than n.
Run the algorithm on the two new arrays.

Time complexity: O(logn)

2.查找一个数列的中位数

我们算法导论上定义的选择问题(selection problem):

输入:一个包含n个不同数的集合A和一个数i,1≤i≤n。

输出:元素x∈A,它恰大于A中其他的i-1个元素。

解决选择问题是使用以快速排序算法为模型的分治算法。中位数问题其实就是选择问题的特例,即i=n/2。算法思想如下:

1.抽取数组的第一个元素作为主元,用快速排序的思想进行一次调整,将比主元小的放在左边,比主元大的放在右边。

2.如果主元的索引等于数组长度的一半,那么就找到了。

3.如果主元的索引比数组长度的一半小的话,那么在主元到数组的结尾这个期间内找第(数组长度的一半-主元的索引)大的数。

4.否则在数组的开始到中间值的索引这段期间内找第(数组长度的一半大)大的数。

递归的调用上面的几步,就可以解决问题。复杂度是O(n)

292011

写一段程序,找出数组中第k大小的数,输出数所在的位置。

Continue reading »

252011
linux上的文件共享服务
简单介绍:在linux主机之间可以用NFS服务实现文件共享,而且实现起来也十分方便。在windows主机之间使用windows文件共享同样可以实现包括网络文件在内部的系统资源的共享。如果想在 linux和windows主机之间进行文件的共享,使用samba服务器是比较理想的解决方案。下面来介绍linux中的两种共享:
一、samba服务器,一 直以来windows主机之间都使用CIFS可以从一台windows主机直接访问网络中其他主机中的共享文件夹,CIFS最典型的应用是windows 用户能够从“网上邻居”中找到网络中的其它主机并访问其中的共享文件,而CIFS网络协议是微软私有协议,所以无法直接与linux系统进行通信,直到 samba项目的出现。samba是著名 的开源软件项目,在linux系统中实现了smb/cifs网络协议 ,可以将 linux系统中的目录和文件提供给windows主机进行访问,很好的实现了linux和windows系统之间的文件互通。
二、NFS即网络文件系统,多用于linux/unix操作系统实现文件共享的。 Continue reading »
132011

偶尔用,备忘

通过命令修改主机名
hostname #查看当前主机的主机名
hostname NEWHOSTNAME #临时修改当前主机名

通过配置文件修改主机名
vi /etc/sysconfig/network #通过配置文件修改主机名
NETWORKING=yes
HOSTNAME=NEWHOSTNAME #修改该值作为主机名,如:NEWPC

修改hosts
vi /etc/hosts
127.0.0.1 localhost.localdomain localhost //该行强烈建议保留
192.168.0.1 rhel.lpwr.net rhel //必须有三个字段:IP、FQDN、HOSTNAME

网络配置
vi /etc/sysconfig/network-scripts/eth0 //编辑指定网络接口配置文件
DEVICE=eth0 //指定接口名称
ONBOOT=yes //系统启动时加载
BOOTPROTO=static //IP地址静态配置,若该值为“dhcp”则为动态获得
IPADDR=192.168.0.1 //设置IP地址
NETMASK=255.255.255.0 //设置子网掩码
GATEWAY=192.168.0.254 //设置默认网关

修改DNS
vi /etc/resolv.conf //指定当前主机的DNS服务器,最多可指定三个
search lpwr.net //设置当前主机的默认查找域
nameserver 192.168.0.100 //指定首选DNS服务器
nameserver 172.16.254.2 Continue reading »

使用单用户 Linux 模式来登录,然后创建一个新的root口令
要进入单用户模式,重新引导计算机,如果使用默认的引导装载程序 GRUB ,可以执行下列步骤来进入单用户模式:

redhat默认安装方式下用的是grub引导的,所以在出现启动菜单时(就是选择引导菜单的时候),就可以按“e”键进入编辑状态,具体操作如下:

1.在出现grub画面时,用上下键选中你平时启动linux的那一项,然后按e键

2. 再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键

3. 修改你现在见到的命令行,加入空格single,结果如下:
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ single

4. 回车返回,然后按b键启动,即可直接进入linux命令行

5. 在#提示符下直接输入命令:passwd root
然后写入你的新密码

6. #提示符下输入reboot 重启

有一点疑惑:这样Linux岂不是很不安全?

参考链接:

http://hi.baidu.com/%D3%C0%D4%B6%B5%C4%B0%AE%D6%AE%C6%A6%D7%D3/blog/item/dc1b82519937951c367abe57.html

http://wordpress.facesoho.com/server/redhat-linux-root-password-forgotten.html

百度2011校园招聘笔试题

Posted by 冰河 at 20:45 4 Responses » 11,440 Views
072011

研发工程师_核心研发方向(BJ)场

1.extern “C”{}的含义及解决的问题

2.说明两种设计模式及应用场景

3.TCP中time_wait是什么状态,有什么优缺点?

1.任务分配问题,任务之间有依赖关系。给出算法及时间、空间复杂度。

2.给英文分句。文章由大小写字母、逗号和点号组成。句子以点号结束,至少包含一个字母。要求写一段完整的程序,程序在完成功能的前提下尽可能简洁

某系统每天有1000亿条记录,存储url,ip,时间。

设计一个系统存储查询这些记录。实习记录,并能按以下要求查询:

(1)给出某时间段(精确到分钟),能查询某url的访问次数
(2)给出某时间段(精确到分钟),能查询某ip的访问次数

Young氏矩阵问题及算法

Posted by 冰河 at 17:48 No Responses » 7,183 Views
042011

百度某年的笔试题就考过Young氏矩阵的存在问题,所以这里把Young氏矩阵问题及算法贴一下

一个 m*n 的 Young 氏矩阵(Young tableau) 是一个 m*n 的矩阵,其中每一行的数据都从左到右排序,每一列的数据都从上到下排序.Young 氏矩阵中可能会有一些  ∞ 数据项,表示不存在的元素.所以,Young 氏矩阵可以用来存放 r<= mn 个有限的元素.
a).画一个包含{9,16,3,2,4,8,5,14,12} 的4*4 的 Young 氏矩阵.

b).给出一个在非空 m*n 的 Young  氏矩阵上实现 EXTRACT-MIN 算法,使其运行时间为O(m+n).

c).说明如何在O(m+n)时间内,将一个新元素手入到一个未满的 m*n Young 氏矩阵中.

d).给出一个时间复杂度为 O(n^3) 的对 n*n Young 氏矩阵排序的算法.

e).给出一个运行时间为O(m+n) 的算法,来决定一个给定的数是否存在于一个给定的 m*n  的 Young 氏矩阵当中. Continue reading »

© 2009 - 2018 冰河的博客