摘要: 数据结构是一门研究非数值计算的程序设计问题中的操作对象,一级他们之间的关系和操作等相关问题的学科。 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符合集。数据不仅仅包括整型、实数型等数值类型,还包括字符及声音、图像、视频等非数值类型。 数据元素:是组成数 阅读全文
posted @ 2018-06-23 10:27 我们都是大好青年 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a+b+c?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 例如,给定数组nums=[-1,0,1,2,-1,-4], 满足要求的三元组集合为: [ [-1,0,1], [-1,-1,2 阅读全文
posted @ 2018-06-22 21:07 我们都是大好青年 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定nums=[2,7,11,15],target=9 因为num[0]+num[1]=2+7=9 所以返回[0,1] 解题思路: 1、看到这道题首先想到的解法就 阅读全文
posted @ 2018-06-22 20:12 我们都是大好青年 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 题目:写一个函数,求两个整数之和,要求在函数体内不得使用“+、-、*、/”四则运算符号 解题思路:对数字做运算除了四则运算之外,也就只剩下位运算了。位运算是针对二进制的,我们就以二进制再来分析一下前面的三步走策略对二进制是不是也适用。 5的二进制是101,17的二进制是10001.还是试着把计算分成 阅读全文
posted @ 2018-06-22 15:44 我们都是大好青年 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标垫符号和普通字母一样处理。例如输入字符串“I am a student.”,则输出“student. a am I ”. 解题思路:第一翻转句子中所有的字符。比如翻转“I am a student.”中所有的字符得 阅读全文
posted @ 2018-06-22 11:15 我们都是大好青年 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 和为S的两个数字 题目一:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于s,输出任意一对即可。 解题思路:首先想到的方法是O(n^2)的方法,也就是先在数组中固定一个数字,再一次判断数组中其余的n-1个数字与它的和是不是等于s,面试官会告诉我们这 阅读全文
posted @ 2018-06-22 10:45 我们都是大好青年 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 解题思路:没扫描到一个数字的时候,逐个比较该数字和它后面的数字的大小,如果后面的数字比它小,则这两个数字就组成了一个逆序对。假设数组中含有n个数字。由于每个数字都要和O( 阅读全文
posted @ 2018-06-22 09:18 我们都是大好青年 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 题目:我们把只包含银子2、3和5的数称作丑数。求按从小到大的顺序的第1500个丑数。例如6、8都是丑数,但14不是,因为它包含因子7,习惯上我们把1当作第一个丑数。 解题思路:逐个判断每个整数是不是丑数的解法,直观但不够高效 所谓一个数m是另一个数n的因子,是指n能被m整除,也就是n%m==0。根据 阅读全文
posted @ 2018-06-21 21:09 我们都是大好青年 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n). 解题思路: 我们试着从头到尾逐个累加示例数组中的每个数字。初始化为0。第一步加上第一个数字1,此时和为1.接下来第二步加上数字-2,和就变成了-1,第三步加上数 阅读全文
posted @ 2018-06-21 20:25 我们都是大好青年 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 字符串的排列 题目:输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出字符a、b、c所能排列出来的所欲字符串abc、acb、bac、cab和cba. 解题思路: 我们把一个字符串看成由两部分组成:第一部分为它的第一个字符,第二部分是后面的所有字符。过程如下图所示: 阅读全文
posted @ 2018-06-21 17:31 我们都是大好青年 阅读(122) 评论(0) 推荐(0) 编辑