判断闰年的方法以及如何获得单链表的倒数第K个元素
2014-04-21 23:59
375 查看
今天很悲催,心中向往的公司,打电话过来面试,问到我两个问题,结果竟然都没有回答上,伤心了,记录下今天失败,希望以后不要被同样的问题给PASS.
问题1.如何判断是否为闰年
所谓闰年那就是:四年一闰,百年不闰,四百年再闰。
其实代码也就是 if((n%4 == 0 && n%100 != 0) || n %400 == 0){} 最原始的方法。
记不住判断闰年的定义,导致无法回答。
问题2.如何获得单链表的倒数第K个元素(时间复杂度最小)
方法(1) 首先查找到整个链表中的元素个数, 然后再一次遍历该数组,找到第n-k+1个元素,即为所求。
缺点:这需要两次遍历链表,当链表中的元素个数很多的时候,耗费时间。
方法(2):定义两个指针p,q,初始时都指向头节点间,然后q向后移动,p则保持不动。
当q移动到第K个位置的时候,pq两个节点同时向后移动,当q达到链表尾部的时候, p节点所指向的位置,即为所求。
看起来很简单,可是面试的时候,这些真不知道如何去答。
希望以后不要再在这里跌倒了!!!
问题1.如何判断是否为闰年
所谓闰年那就是:四年一闰,百年不闰,四百年再闰。
其实代码也就是 if((n%4 == 0 && n%100 != 0) || n %400 == 0){} 最原始的方法。
记不住判断闰年的定义,导致无法回答。
问题2.如何获得单链表的倒数第K个元素(时间复杂度最小)
方法(1) 首先查找到整个链表中的元素个数, 然后再一次遍历该数组,找到第n-k+1个元素,即为所求。
缺点:这需要两次遍历链表,当链表中的元素个数很多的时候,耗费时间。
方法(2):定义两个指针p,q,初始时都指向头节点间,然后q向后移动,p则保持不动。
当q移动到第K个位置的时候,pq两个节点同时向后移动,当q达到链表尾部的时候, p节点所指向的位置,即为所求。
看起来很简单,可是面试的时候,这些真不知道如何去答。
希望以后不要再在这里跌倒了!!!
相关文章推荐
- 如何找出单链表中的倒数第k个元素
- 如何找出单链表中的倒数第K个元素
- 如何找出单链表中的倒数第k个元素
- 如何找出单链表中的倒数第k个元素-----思路分析
- 如何找出单链表中的倒数第k个元素
- 如何找出单链表中的倒数第k个元素
- Java:如何找出单链表中的倒数第k个元素
- php 判断http还是https,以及获得当前url的方法
- 判断一个类是否支持某属性和方法以及如何判断IOS的版本
- 数据结构--求单链表倒数第K个元素和中间元素
- Java的List<Object>如何判断元素类别、输入流的回退,以及Autocad中参照块的坐标变换。
- 单链表查找倒数第k个元素
- [算法]找出单链表中的倒数第k个元素
- java如何用dom解析xml以及获得根元素下的值
- javascript获得和设置以及移除元素属性的三个方法
- 程序员面试题目总结--链表(2)【找出单链表中的倒数第K个元素】
- 如何通过PHP判断年份是否是闰年----两种方法
- 如何利用IsLeapYear方法进行闰年判断
- javascript 三种方法实现获得和设置以及移除元素属性
- 找出单链表中的倒数第k个元素