摘要: 给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。 输入格式: 输入在一行中先给出 N(1 using namespace std 阅读全文
posted @ 2020-03-18 14:49 RioTian 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性: 和 。`val next prev 0 index `的。 在链表类中实现这些功能: :获取链表中第 index 个节点的值。如果索引无效,则返回 1。 :在链表的第一个元素之前添加一个值为 的节点。插入后,新节点将成为 阅读全文
posted @ 2020-03-17 21:44 RioTian 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 给你一个 m n 的矩阵,矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。 幸运数是指矩阵中满足同时下列两个条件的元素: 在同一行的所有元素中最小 在同一列的所有元素中最大 示例 1: 示例 2: 示例 3: 提示: m == mat.length n == mat[i].len 阅读全文
posted @ 2020-03-15 22:22 RioTian 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 今天是算法数据结构专题的第5篇文章,我们一起来学习一下「并查集」。 并查集被很多ACMer认为是最简洁而优雅的数据结构之一,主要用于解决一些元素分组的问题。并支持两种操作: 合并(Union):把两个不相交的集合合并为一个集合。 查询(Find):查询两个元素是否在同一个集合中。 不多废话开始文章。 阅读全文
posted @ 2020-03-14 17:10 RioTian 阅读(2746) 评论(0) 推荐(2) 编辑
摘要: update:21/07/24 前言 绝对众数。在数列 \(p\) 中出现次数严格大于 \(\frac{\vert p \vert}{2}\) 的数叫做绝对众数。 快速排序 一般来说我们可以直接排序解决问题,如果存在绝对众数的话,最中间的数一定是绝对众数。 时间复杂度为 \(\mathcal{O}( 阅读全文
posted @ 2020-03-13 14:22 RioTian 阅读(1169) 评论(0) 推荐(0) 编辑
摘要: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 示例 2: Code:sort、hash、BM投票、随机数、位运算 阅读全文
posted @ 2020-03-13 14:07 RioTian 阅读(153) 评论(0) 推荐(1) 编辑
摘要: 本篇针对面试中常见的二叉树操作作个总结: 前序遍历,中序遍历,后序遍历; 1.1 前序遍历 **对于当前结点,先输出该结点,然后输出它的左孩子,最后输出它的右孩子。**以上图为例,递归的过程如下: 输出 1,接着左孩子; 输出 2,接着左孩子; 输出 4,左孩子为空,再接着右孩子; 输出 6,左孩子 阅读全文
posted @ 2020-03-12 17:18 RioTian 阅读(375) 评论(0) 推荐(2) 编辑
摘要: 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A Z(包括大、小写)、数字 0 9、 阅读全文
posted @ 2020-03-11 11:13 RioTian 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 前言 在刷Leetcode的时候发现很多运算速度极快的代码都有这一段,所以研究一下. 第一次见这种代码懵了下,auto有接触过,其他就不太熟悉。 另一篇文章里也有详细解析 "[黑胡椒和盐" ](https://blog.csdn.net/qq_32320399/article/details/815 阅读全文
posted @ 2020-03-11 09:30 RioTian 阅读(1033) 评论(1) 推荐(0) 编辑
摘要: 给定一个整数数组 ,只有我们可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。 形式上,如果我们可以找出索引` i+1 & A) { int s= accumulate(A.begin(),A.end(),0); if(s % 3!=0) return false; int 阅读全文
posted @ 2020-03-11 09:11 RioTian 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。 注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 阅读全文
posted @ 2020-03-07 20:34 RioTian 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 ,这个神奇的数字也叫 Kaprekar 常数。 例如,我们从 开始,将得到 现给定任意 4 阅读全文
posted @ 2020-03-07 20:08 RioTian 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 正整数 A 的“DA(为 1 位整数)部分”定义为由 A 中所有 DA 组成的新整数 PA。例如:给定 A=3862767,DA=6,则 A 的“6 部分”PA 是 66,因为 A 中有 2 个 6。 现给定 A、DA、B、DB,请编写程序计算 PA+PB。 输入格式: 输入在一行中依次给出 A、D 阅读全文
posted @ 2020-03-07 17:18 RioTian 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 1 示例 1: 输入: 输出: 示例 2: 输入: 输出: 限制: 阅读全文
posted @ 2020-03-07 10:46 RioTian 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 今天是算法数据结构专题的第3篇文章,我们一起来学习一下「Boyer-Moore算法」。 BM算法介绍 各种文本编辑器的 "查找" 功能(Ctrl+F),大多采用 Boyer-Moore 算法。 Boyer-Moore 算法不仅效率高,而且构思巧妙,容易理解。1977 年,德克萨斯大学的 Robert 阅读全文
posted @ 2020-03-06 15:36 RioTian 阅读(389) 评论(0) 推荐(1) 编辑