摘要: 题目描述: 输入两个链表,找出它们的第一个公共结点 思路: 第一种:直接法 在第一个链表上顺序遍历每个结点,每遍历到一个结点的时候,在第二个链表上顺序遍历每个结点。如果在第二个链表上有一个结点和第一个链表上的结点一样,说明两个链表在这个结点上重合,于是就找到了它们的公共结点。如果第一个链表的长度为 阅读全文
posted @ 2016-08-22 09:52 no_one 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 1、当向集合中添加对象时,首先计算要增加对象的hashCode码,根据该值得到一个位置用来存放当前的对象,当该位置没有一个对象存在的话,直接将该对象增加进去。如果该位置有一个对象存在的话,接着将准备增加到集合中的对象与该位置的对象进行equals方法比较,如果返回false,那么集合认为集合中不存在 阅读全文
posted @ 2016-08-21 16:31 no_one 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 实现步骤: 1、首先创建一个类包含一个私有属性 2、通过反射机制修改name的值 阅读全文
posted @ 2016-08-20 18:54 no_one 阅读(6945) 评论(0) 推荐(1) 编辑
摘要: 题目描述 例如在数组{7, 5, 6, 4}中, 一共存在 5 个逆序对,分别是(7, 6)、(7,5),(7, 4)、(6, 4)和(5, 4)。 我们以数组{7, 5, 6, 4}为例来分析统计逆序对的过程。每次扫描到一个数字的时候,我们不能拿它和后面的每一个数字作比较,否则时间复杂度就是 O( 阅读全文
posted @ 2016-08-19 15:17 no_one 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在字符串中找出第一个只出现一次的字符。没有找到输出 '.' 输入 sssdddaasw 输出 w 思路 我们是不是可以统计每个字符在该字符串中出现的次数?要达到这个目的,我们需要一个数据容器来存放每个字符的出现次数。在这个数据容器中可以根据字符来查找它出现的次数,也就是说这个容器的作用是把 阅读全文
posted @ 2016-08-19 09:50 no_one 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入描述 输出描述 输入例子 输出例子 方法2 阅读全文
posted @ 2016-08-18 21:04 no_one 阅读(1380) 评论(1) 推荐(0) 编辑
摘要: 题目描述 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 思路 方法1 逐个判断是不是丑数,直观不够高效 方法2 创建数组保存已经找到的丑数 只计算丑数,不在非丑数上花 阅读全文
posted @ 2016-08-18 16:30 no_one 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1 阅读全文
posted @ 2016-08-18 13:54 no_one 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 思路 O(n)时间算法,只有可以修改输入数组时可用。 可以基于 Partition 函数来解决这个问题。如果基于数组的第k个数字来调整,使得比第k个数字小的所有数字都 阅读全文
posted @ 2016-08-18 11:10 no_one 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 方法1:基于partition函数的算法 方法2: 数组中有一个数字出现的次数 阅读全文
posted @ 2016-08-17 21:38 no_one 阅读(161) 评论(0) 推荐(0) 编辑