时针 矩阵offer

【剑指Offer】41、和为S的连续正数序列

# 【剑指Offer】41、和为S的连续正数序列 **题目描述:** 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:1 ......
正数 序列 Offer

剑指 Offer 10- I. 斐波那契数列(简单)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230823210303470-2008442646.png) ``` class Solution { //动态规划 public: int fib(int n) { ......
数列 Offer 10

剑指 Offer 41. 数据流中的中位数(困难)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230823202939041-4798572.png) ``` class MedianFinder { //暴力解法:每添加一个数字后用sort进行排序,然后返回中 ......
中位数 数据流 数据 Offer 41

【剑指Offer】33、丑数

# 【剑指Offer】33、丑数 **题目描述:** 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 **解题思路:** 所谓一个数m是另一个数n的因子,是指n能被 ......
Offer

【剑指Offer】31、从1到n整数中1出现的次数

# 【剑指Offer】31、从1到n整数中1出现的次数 **题目描述:** 求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1-13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题 ......
整数 次数 Offer

【剑指Offer】29、最小的K个数

# 【剑指Offer】29、最小的K个数 **题目描述:** 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 **解题思路:** 本题最直观的解法就是将输入的n个整数排序,排序之后位于最前面的k个数就是最小的k个数,这取决于排 ......
个数 Offer

剑指 Offer 51. 数组中的逆序对(困难)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230822211543951-605508334.png) ``` class Solution { //这道题利用了归并排序(分而治之)的思想,就是在每一次排序中统 ......
逆序 数组 Offer 51

【剑指Offer】48、不用加减乘除做加法

# 【剑指Offer】48、不用加减乘除做加法 **题目描述:** 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 **解题思路:** 本题同样是对发散思维能力的一个考察。首先,我们需要考虑是要求和却不能使用四则运算,那么还能用什么呢?除了四则运算以外,还可以进行计算 ......
加减乘除 加法 不用 Offer

【剑指Offer】11、二进制中1的个数

# 【剑指Offer】11、二进制中1的个数 **题目描述:** 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 **解题思路:** 本题有以下两个解决方案: (1)**依次判断每一位**。判断的方法是先与1相与,为1则说明该位为1,为0说明该位为0,然后将1左移,再判断倒数第二位 ......
二进制 个数 Offer

【剑指Offer】47、求1+2+3+4+···+n

# 【剑指Offer】47、求1+2+3+4+···+n **题目描述:** 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 **解题思路:** 本题本身没有太多的实际意义,但是可以对程序员的发散思维能力 ......
183 Offer

剑指 Offer 45. 把数组排成最小的数(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230821220815065-610363687.png) ``` class Solution { public: string minNumber(vector& ......
数组 Offer 45

剑指 Offer 33. 二叉搜索树的后序遍历序列(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230821202253841-558226362.png) 结合以下图理解该方法 ![](https://img2023.cnblogs.com/blog/26797 ......
序列 Offer 33

Leetcode 59. 螺旋矩阵 II && 剑指 Offer 29. 顺时针打印矩阵

这两个题非常相似,但是前者较为简单,后者较难。 由于前者访问的矩阵是方阵,因此可以通过迭代去做(因为方阵每次迭代,长和宽缩水的大小是一样的,但是矩阵不可以,因为矩阵最后一次迭代,长和宽的缩水不一定一样) class Solution { public: vector<vector<int>> gen ......
矩阵 时针 螺旋 amp Leetcode

【剑指Offer】12、数值的整数次方

# 【剑指Offer】12、数值的整数次方 **题目描述:** 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 **解题思路:** 本题看似比较简单,是一个简单的指数运算,但需要完整的考虑到所有情况。首先,对于底数,如果底数为0,则0的 ......
整数 数值 Offer

【剑指Offer】10、矩形覆盖

# 【剑指Offer】10、矩形覆盖 **题目描述:** 我们可以用2 X 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 X 1的小矩形无重叠地覆盖一个2 X n的大矩形,总共有多少种方法? **解题思路:** 我们可以以2 X 8的矩形为例。 ![](https://img2023.cnb ......
矩形 Offer

【剑指Offer】9、变态跳台阶

# 【剑指Offer】9、变态跳台阶 **题目描述:** 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 **解题思路:** 当只有一级台阶时,f(1)=1;当有两级台阶时,f(2)=f(2-1)+f(2-2);一般情况下,当有n级台阶 ......
台阶 变态 Offer

剑指 Offer 68 - I. 二叉搜索树的最近公共祖先(简单)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230820102811291-30603744.png) ``` class Solution { public: TreeNode* lowestCommonAnc ......
祖先 Offer 68

【剑指Offer】8、跳台阶

# 【剑指Offer】8、跳台阶 **题目描述:** 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 **解题思路:** 首先考虑最简单的情况,如果只有1级台阶,显然只有一种跳法。如果有两级台阶,就有两种跳法:一种是分两次跳,一 ......
台阶 Offer

【剑指Offer】7、斐波那契数列

# 【剑指Offer】7、斐波那契数列 **题目描述:** 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。假设n<=39。 **解题思路:** 斐波那契数列:0,1,1,2,3,5,8........ 总结起来就是:第一项是0,第二项是1,后续 ......
数列 Offer

【剑指Offer】21、栈的压入、弹出序列

# 【剑指Offer】21、栈的压入、弹出序列 **题目描述:** 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1 ......
序列 Offer

旋转矩阵

[toc] ## 旋转的表示 在三维坐标系中,有三种表达形式 1. 旋转矩阵 $$ R = \begin{bmatrix} r_{11} & r_{12} & r_{13} \\ r_{21} & r_{22} & r_{23} \\ r_{31} & r_{32} & r_{33} \end{bm ......
矩阵

旋转矩阵与欧拉角

# 旋转矩阵与欧拉角 > > 参考文献: > [Computing Euler angles from a rotation matrix ——Gregory G. Slabaugh] ## 三个主轴的旋转矩阵 右手坐标系,逆时针转动角度为正(右手螺旋定则确定)。 关于绕 $x$ 轴旋转 $\psi ......
矩阵

[转]Clion中如何使用矩阵库eigen

CMakelist文件内容如下: cmake_minimum_required(VERSION 3.2) project(PISO) set(CMAKE_CXX_STANDARD 14) include_directories(C:/Users/DELL/Downloads/eigen-3.3.8) ......
矩阵 Clion eigen

《剑指Offer》-40-最小的 K 个数

如果直接调用 sort API 然后要几个打印几个就没意思了,应该是和某个排序的内部过程结合 首先排除O(^N2^)的低效率排序算法,最先想到的其实是堆排序,小根堆,但是需要额外的空间 其次像快排、归并这样的也不合适…… 我想到了可以这样,快排第一轮划分之后,将部分舍去…… 应该就是这样了,堆排序或 ......
个数 Offer 40

剑指 Offer 55 - I. 二叉树的深度(简单)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230819131822389-690048198.png) ``` class Solution { public: void traversal(TreeNode* ......
深度 Offer 55

剑指 Offer 54. 二叉搜索树的第k大节点

方法一: 由于是有序的平衡二叉树,因此是中序。根据dfs中序迭代求得递增排序后,再反转就可求得结果。 class Solution { public: vector<int> tmp; int kthLargest(TreeNode* root, int k) { // if(root != NUL ......
节点 Offer 54

P6772 [NOI2020] 美食家 题解(矩阵加速图上dp常用思路)

# P6772 [NOI2020] 美食家 题解(矩阵加速图上dp常用思路) ## 简要题面 给定一张 $n$ 个点 $m$ 条单向边的图,走这条边需要花费 $w_i$ 的时间(以天为单位),现在有一个人从 $1$ 号点出发,最后回到 $1$ 号点,要求走了 **恰好** 为 $T$ 天。 每经过一 ......
美食家 题解 矩阵 思路 常用

【剑指Offer】20、包含min函数的栈

# 【剑指Offer】20、包含min函数的栈 **题目描述:** 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 **解题思路:** 解法一:使用两个stack,一个为数据栈,另一个为辅助栈。数据栈用于存储所有数据,每次压栈的最小元素(之前的 ......
函数 Offer min

【剑指Offer】5、用两个栈实现队列

# 【剑指Offer】5、用两个栈实现队列 **题目描述:** 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 **解题思路:** 本题的基本意图是:用两个后入先出的栈来实现先入先出的队列。对于这个问题,我们可以通过一个实例来进行具体分析。不难得出相应的规律:有 ......
队列 两个 Offer

【剑指Offer】66、机器人的运动范围

# 【剑指Offer】66、机器人的运动范围 **题目描述:** 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 ......
机器人 范围 机器 Offer