摘要: 思路1:要求的是两个链表的第一个公共节点,首先想到的是用栈来存放两个链表,然后依次从栈中抛出,直到最后一个相同的节点为止。但是要用到两个栈,空间复杂度为O(n);思路2:从头到尾分别遍历两个链表得到链表的长度风别为,len1和len2,求出两者的差值dif,然后现在长的链表上面走dif步,然后同步走... 阅读全文
posted @ 2015-08-28 16:00 lisahappy 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 题目:在数组中如果两个数字的前面的数比后面的数大,则称为一对逆序对。输入一个数组求出数组中逆序对的总数。以空间换时间:思路:借助一个辅助数组,将原来的数组复制到该数组中。然后将该数组分成子数组,然后统计子数组中内部的逆序,然后再统计两个相连的子数组中的逆序对,这个过程用到了归并排序。时间复杂度为O(... 阅读全文
posted @ 2015-08-27 14:02 lisahappy 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 题目:在字符串中第一次出现切只出现一次的字符思路:用HashMap来存放对应的char值和该char出现的次数。做一次变量就可以得到第一个只出现一次的字符。Java代码:import java.util.LinkedHashMap;//思路:用HashMap来存放对应的char值和该char出现的次... 阅读全文
posted @ 2015-08-26 21:54 lisahappy 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,则他们的身高满足存在i(1Ti+1>........ 阅读全文
posted @ 2015-08-26 21:00 lisahappy 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个字符串,求最后一个单词的长度,每个单词中间有空格。例如:输入:hello world 输出:5C代码:通过。#include #define maxn 1000#include int main(){ int number = 0,i,len; char s[maxn];... 阅读全文
posted @ 2015-08-26 20:41 lisahappy 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 题目:我们把只包含因子2,3,5的数叫做丑数。寻找第1500个丑数。通常把1当成第一个丑数。思路1:第一步判断是否为丑数:丑数是只包含2,3,5的数,因此一定可以被2,3,5整除。通过求余数是否为零做为判断条件,通过除以来减小整个数的值,知道整个数为1.返回true.第二步找到第N个丑数的值,这一种... 阅读全文
posted @ 2015-08-25 17:23 lisahappy 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 我们来一下如下代码:package whu.cn.whushare.ui.main.known.adapter;import android.content.Context;import android.text.TextUtils;import android.view.LayoutInflate... 阅读全文
posted @ 2015-08-25 09:48 lisahappy 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个数组,数组中有正也有负,数组中连续的一个或者连续的多个数字组成一个子数组。求所有的子数组和的最大值。要求时间复杂度为O(n)思路:我们的最直观的想法就是求出这个数组中的所有的子数组,然后比较他们的和的大小,如果输入的数组元素个数为N,那么就要有N(N+1)/2个子数组。很明显是不符合要... 阅读全文
posted @ 2015-08-22 16:56 lisahappy 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 题目:输入n个数,输出最小的k个数。时间复杂度为O(n)思路1:我们想的到的最直接的思路就是对这个N个数进行排序,然后就可以找到最小的k个了,同样可以用快排partition。但是只要找到前K个最小的元素,并不一定要排好序。Java代码:import java.util.Random;//时间复杂度... 阅读全文
posted @ 2015-08-22 15:14 lisahappy 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个数组,找出一个数字,它在数组中出现的次数超过数组的一半。题目规定如果可以改变数组中元素的位置。思路1:如果数组是排序的,那么中间元素的位置不就是次数超过数组一半的元素吗?是的,因此我们可以才用partition来做判断。如果partition的得到的整数index是在数组的中间,那么该... 阅读全文
posted @ 2015-08-22 11:46 lisahappy 阅读(224) 评论(0) 推荐(0) 编辑