一亩三分自留地

博客园 首页 新随笔 联系 订阅 管理

算法

  1. 怎样知道一个数字是不是2的乘方?怎样判断一个数是不是奇数?      a. 用该数x与x-1做&操作,结果为零则x为2的乘方,另外2的乘方的末尾规律为2、4、8、6。 b. 奇数比较好判断,只要最后一位是奇数那这个数就是奇数
  2. 怎样找出链表中间的元素?     用两根指针指向表头,当a到一步,b就动两步。
  3. 怎样改变10,000个静态HTML页面中所有电话号码的格式? 这个不大清楚,不过我认为正则表达式是一个不错的选择
  4. 举出一个你所用过的递归的例子。 生成多级菜单(递推) 兔子数列(递归)
  5. 在散列表和排序后的列表中找一个元素,哪个查找速度最快?  排序表用二分法查找耗时比较稳定 O(n2) ,散列表不稳定,但可能比排序表快。
  6. 不管是书、杂志还是网络,你从中所学到的最后一点算法知识是什么? “算法是解决问题的步骤,会因为实际问题的需要变化”
  7. 怎样把字符串反转?你能不用临时的字符串么?   用两个指针, a指向头,b指向尾,b递减直到a,依次输出b指针指向的值。
  8. 你愿意用什么类型的语言来编写复杂的算法? C系列语言
  9. 有一个数组,里面是从1到1,000,000的整数,其中有一个数字出现了两次,你怎么找出那个重复的数字? 排序,然后比对相临数字
  10. 你知道“旅行商问题(Traveling Salesman Problem)”么? 查Google
posted on 2009-03-04 12:45  Eugene Leung  阅读(291)  评论(0编辑  收藏  举报