042011

虽然Lingoes好久不更新了,但是最近其最新的版本却一直提示软件过期。下面是来自官方论坛的解决方法:

最近有部分用户出现”一直提示软件过期” 的问题, 解决的办法是点击过期提示对话框中的 “立即升级” 按钮, 完成后重启软件即可.如果还不行的话, 请从此处下载 system.inc 文件, 拷贝到灵格斯安装目录下覆盖原文件, 即可解决.

另外, 我们在近几日内就会推出正式版本, 彻底解决Beta版过期问题, 以方便大家使用, 请稍加耐心等候, 谢谢!

希望如作者所说,Lingoes能尽快推出更新版本!

UPDATE1:2011-08-26 灵格斯词霸2.7.6发布。

UPDATE2:Lingoes好像服务器经常连不上,查词查例句都不方便,换有道词典了。

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 » 14,555 Views
302011

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

中位数查找问题

Posted by 冰河 at 17:55 3 Responses » 17,609 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)

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

032011

touch4不像iphone4,自身不能上网,在有无线信号的情况下可以很方便的上网,但是在没有无线信号的地方,只能通过第三方设备,比如手机上网了。

touch4通过手机上网,目前主要有2种方法:

1)wifi连接第三方设备。利用支持wifi的手机(可以类推到其他有无线网卡的设备,比如笔记本)建立无线热点(相当于一个无线网络),然后就可以用touch4连接wifi,很方便地上网。说的有点绕,原理就是touch4->无线连接手机->手机GPRS上网。主要软件就是手机上安装JoikuSpot。

2)蓝牙连接第三方设备。原理是touch4->蓝牙连接手机->手机GPRS上网。主要软件是touch4上安装ibluever,这是一款拨号软件。很多同学可能以前有过笔记本通过手机拨号上网的经历,touch4上网就是利用了类似原理。

需要说明的是手机GPRS上网又分cmnet和cmwap两种。山东省的流量包月除了20元无限流量外都是不区分cmnet和cmwap的,对于这样的情况建议使用cmnet上网,这样会方便很多,从下面的流程中可以看到。原因就是cmwap是需要代理上网的,详情见这里:http://tech.ccidnet.com/art/1093/20050317/224551_1.html Continue reading »

/etc/fstab详解

Posted by 冰河 at 13:01 1 Response » 16,014 Views
062011

我们在linux中常常用mount命令把硬盘分区或者光盘挂载到文件系统中。/etc/fstab就是在开机引导的时候自动挂载到linux的文件系统。

在linux中/etc/fstab的数据项如下所示:

/dev/device   mountpoint   type   rules   dump   order

设备名称        挂载点          分区类型   挂载选项     dump选项    fsck选项

例如这是一个普通的/etc/fstab:

/dev/hda2     /                    ext3        defaults   0 1

/dev/hda3     swap             swap      defaults   0 0

/dev/hda5     /usr               ext3        defaults   0 0

/dev/fdo        /mnt/flopy     ext3        noauto     0 0

/dev/cdrom    /mnt/cdrom   iso9660  noauto,ro 0 0 Continue reading »

一道关于链表的面试题

Posted by 冰河 at 10:43 6 Responses » 12,812 Views
242011

在公司的时候无意中听到的,据说技术面的时候屡试不爽。题目如下:

一个单向链表,不知道head指针,只有当前节点的指针current,如何删除当前节点?

一般对链表的操作都要从head指针开始,操作当前节点必须有previous指针。这个题目需要独辟蹊跷:

解法:以删除next节点的方法变相删除current节点。具体做法就是将next节点的数据拷贝到current节点,删除next节点,即将current节点的next指针指向next节点的next节点。

问题:
1)如果current节点是tail节点,这种方法就不好使了。
2)如果其他地方有对next节点的引用,该引用会出现错误(不同语言可能情况不一样,比如java和c++)。

没了。。。

© 2009 - 2018 冰河的博客