数据结构
达达_
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
表
aa Hello world原创 2018-11-09 20:15:06 · 223 阅读 · 0 评论 -
2019校招真题——被3整除
题目描述 小Q得到一个神奇的数列: 1, 12, 123,…12345678910,1234567891011…。 并且小Q对于能否被3整除这个性质很感兴趣。 小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。 输入描述: 输入包括两个整数l和r(1 <= l <= r <= 1e9), 表示要求解的区间两端。 输出描述: 输出一个整数, 表示...原创 2019-07-30 17:22:22 · 374 阅读 · 0 评论 -
2019校招真题——牛牛找工作
题目描述 为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。 输入描述: 每个输入包含一个测试用例。 每个测试用例的第一行包含两个正整数,分别表示工作的数量N(N<=...原创 2019-07-30 16:11:47 · 287 阅读 · 0 评论 -
剑指OFFER-第一个只出现一次的字符
题目:查找出字符串中只出现一次的字符 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 解:这道题可以用哈希表。第一次扫描把字符串里的所有字符按顺序映射到哈希表中,并记录下出现次数。第二次扫描字符串,按顺序查找字符在哈希表中记录的次数,就可以找到第一个只出现一次的字符了。 因为字符可以...原创 2019-07-17 22:02:22 · 188 阅读 · 0 评论 -
剑指OFFER-滑动窗口的最大值
题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5...原创 2019-07-24 09:56:46 · 171 阅读 · 0 评论 -
剑指OFFER-找出二叉搜索树第k小的节点
题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点。例如, 层序遍历序列(5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。 此题难度不大,如果对二叉搜索树熟悉的话可以看出,如果对树进行中序遍历,则得到的序列就是从小到大排列的。 因此可以得出算法代码,此处用递归进行实现 class Solution { public: TreeNode* KthNode(T...原创 2019-07-19 10:47:28 · 508 阅读 · 0 评论 -
剑指OFFER- 统计一个数字在排序数组中出现的次数。
题目描述:统计数字在排序数组中出现的次数,例如输入数组{1,2,3,3,3,3,4,5,7,8}和数字3,则输出4,因为数字3在数组中出现了4次。 解:此题最简单做法是扫描数组,每当碰到与数字一样的数组元素时,次数+1。这种做法的时间复杂度为O(N),而且没有用上数组有序这个性质。 另一种做法是用二分法找到对应的数组元素下标,然后分别往数组的左边和右边扫描,找到第一个与最后一个元素。但是这种做法的...原创 2019-07-18 11:05:59 · 1970 阅读 · 0 评论 -
树
表与树的不同在于,表的每一个节点都是一对一的关系,每个节点最多就有一个前向和一个后向节点。而树的话每个节点都最多有一个前向节点,能有多个后向节点。 树的定义方法有多种,数据结构表示方法也很多,但是因为所有的树都能用二叉树来表示,所以这里就只说二叉树的问题。树的一些基本概念,如深度,高等等就忽略了。 本文先讲述一下搜索树的建立,因为搜索树比较简单,建立之后会用递归和非递归的方式叙述一下前中后序遍历,...原创 2018-12-08 16:13:09 · 189 阅读 · 0 评论 -
栈和队列
栈 栈是一种特殊的表,正常的表能在表的任意处进行插入和删除操作,但是栈只能在表的末尾进行插入删除操作,因此最先进去的元素会最后出来,对应表的操作就只有push_back和pop_back了,因为关于表的实现已经在文章中实现,这里就不详述了。下边重点介绍一下栈的应用。 栈的应用 1 平衡符号 在写代码时碰到一个问题就是括号匹配的问题,代码块的括号,如(),[],{}如果不匹配的话编译器将会报错,要解...原创 2018-11-25 15:16:02 · 246 阅读 · 0 评论 -
2019校招真题——数对
题目 牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了。 但是牛牛记得老师告诉过他x和y均不大于n, 并且x除以y的余数大于等于k。 牛牛希望你能帮他计算一共有多少个可能的数对。 输入描述: 输入包括两个正整数n,k(1 <= n <= 10^5, 0 <= k <= n - 1)。 输出描述: 对于每个测试用例, 输出一个正整数表示可能的数对...原创 2019-07-31 11:13:11 · 316 阅读 · 0 评论
分享