2016年7月4日
摘要: 注意分情况讨论: 1. 要删除的不是尾节点 2. 链表只有一个节点 3. 链表中有多个节点,删除尾节点 阅读全文
posted @ 2016-07-04 15:43 已停更 阅读(274) 评论(0) 推荐(0)
摘要: 面试题是关于n位整数并且没有限定n的取值范围,或者是输入任意大小的整数,那么这个题目就很可能需要考虑大数问题。字符串是一个简单的、有效的表示大数的方法 这题比较难,用递归表达全排列,数字每一位都可能是0-9,从高位往低位设置 阅读全文
posted @ 2016-07-04 15:20 已停更 阅读(400) 评论(0) 推荐(0)
摘要: 要注意的问题: 1. 指数为0或者是负数 2. 判断小数误差切记不能用 == ,因为计算机内表示小数时(包括float和double型小数)都有误差。判断两个小数是否相等,只能判断它们之差的绝对值是否在一个很小的范围内 阅读全文
posted @ 2016-07-04 13:55 已停更 阅读(179) 评论(0) 推荐(0)
摘要: 面试题10:二进制中1的个数 第一种解法是用1不断左移做与运算 第二种解法是:把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变为0 把一个整数减去1后再和原来的数做与运算,得到的结果相当于把整数的二进制表示中最右边一个1变为0。很多二进制的问题都可以用这个思路解决。判断一个数是不是2的 阅读全文
posted @ 2016-07-04 10:28 已停更 阅读(523) 评论(0) 推荐(0)
摘要: 面试题9 递归解法,不要使用: 循环: 类似问题 青蛙跳台阶: 问:一只青蛙一次可以跳上1级台阶,也可以一次跳上2级,问n级台阶总共有多少种跳法 解:这题完全是裴波那切数列,第一次跳有两种选择:跳一级,剩下f(n-1)种跳法;跳二级,剩下f(n-2)种跳法。故f(n) = f(n-1) + f(n- 阅读全文
posted @ 2016-07-04 09:13 已停更 阅读(1151) 评论(0) 推荐(0)
摘要: 面试题8:旋转数组中的最小数字 剑指Offer中有这道题目的分析。这是一道二分查找的变形的题目。 旋转之后的数组实际上可以划分成两个有序的子数组:前面子数组的大小都大于后面子数组中的元素注意到实际上最小的元素就是两个子数组的分界线。本题目给出的数组一定程度上是排序的,因此我们试着用二分查找法寻找这个 阅读全文
posted @ 2016-07-04 08:51 已停更 阅读(305) 评论(0) 推荐(0)