时针 矩阵offer

剑指 Offer 37. 序列化二叉树

题目链接:剑指 Offer 37. 序列化二叉树 取巧做法 class Codec { private: TreeNode* root; public: // Encodes a tree to a single string. string serialize(TreeNode* root) { ......
序列 Offer 37

剑指 Offer 36. 二叉搜索树与双向链表

题目链接:剑指 Offer 36. 二叉搜索树与双向链表 方法一:回溯 解题思路 {:width=1000} 代码 class Solution { private: int mx = INT_MIN, mi = INT_MAX; Node* start = NULL, * end = NULL; ......
双向 Offer 36

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

题目链接:剑指 Offer 33. 二叉搜索树的后序遍历序列 方法:分治 解题思路 首先假设该序列能够构成某个二叉搜索树的后序遍历序列,那么这个序列会被分成3个部分:左子树序列,右子树序列,父节点,其中左右子树节点数可能为0; 现在就可以检查该序列是否符合这个规律,然后递归的判断子树是否符合规律。 ......
序列 Offer 33

剑指 Offer 51. 数组中的逆序对

题目链接:剑指 Offer 51. 数组中的逆序对 方法一:归并排序 解题思路 逆序对:即后面的数大于前面的数; 归并排序: 先分,在此过程中会先递归的将序列分为一段一段序列,并且每段序列之间的先后顺序是不变的。 再治,也即归并,归并的过程中会将两段序列进行比较$(A,B,B在A的后面)$,当出现$ ......
逆序 数组 Offer 51

1605. 给定行和列的和求可行矩阵

题目链接:1605. 给定行和列的和求可行矩阵 方法:贪心 解题思路 参考:思路?一个动画秒懂!附优化写法(Python/Java/C++/Go) 代码 class Solution { public: vector<vector<int>> restoreMatrix(vector<int>& r ......
矩阵 1605

剑指 Offer 20. 表示数值的字符串

题目链接:剑指 Offer 20. 表示数值的字符串 方法:模拟 解题思路 根据题意模拟,详情见代码注释。 代码 class Solution { public: bool isDecimal(string s){ int first_symbol = s.find_first_of('.'); / ......
字符串 数值 字符 Offer 20

剑指 Offer 47. 礼物的最大价值

题目链接:剑指 Offer 47. 礼物的最大价值 方法:动态规划 解题思路 $当前位置的最大价值 = max(上方格子的最大价值,左边格子的最大价值) + 当前位置的价值$,即局部最优可以推出全局最优,简单递推即可。 代码 class Solution { public: int maxValue ......
礼物 价值 Offer 47

ROS2-发布矩阵类消息

这个困扰我两个周的难题终于在翻阅官方文档之后得到了解答,简而言之就是对于相关头文件的理解(其实是我懒得自定义头文件),下面解释一下相关代码。 发布者代码 #include <chrono> #include <memory> #include "rclcpp/rclcpp.hpp" #include ......
矩阵 消息 ROS2 ROS

剑指 Offer 19. 正则表达式匹配

题目链接:剑指 Offer 19. 正则表达式匹配 方法:动态规划 解题思路 详情见:逐行详细讲解,由浅入深,dp和递归两种思路 代码 class Solution { public: bool isMatch(string s, string p) { int n = s.size(), m = ......
正则 表达式 Offer 19

Leetcode(剑指offer专项训练)——DFS/BFS专项(1)

计算除法 题目 给定一个变量对数组 equations 和一个实数值数组 values 作为已知条件,其中 equations[i] = [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi = values[i] 。每个 Ai 或 Bi 是一个表示单个变量的字符串。 另有一些以数 ......
专项 Leetcode offer DFS BFS

剑指offer66(Java)-构建乘积数组(中等)

题目: 给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 示例: 输入: [1,2,3,4,5]输出: ......
乘积 数组 offer Java 66

剑指offer03(Java)-数组中重复的数字(简单)

题目: 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限 ......
数组 数字 offer Java 03

OpenCV获取相机旋转矩阵和平移矩阵

想要求解旋转矩阵和平移矩阵,先要了解相机内参矩阵和畸变矩阵如何获取,不了解的可以先移步https://www.cnblogs.com/nobodyx/p/17297074.html 先上代码 #include <iostream> #include <vector> #include <glob.h ......
矩阵 相机 OpenCV

力扣---剑指 Offer 07. 重建二叉树

输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1: Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,nul ......
Offer 07

剑指 Offer 16. 数值的整数次方

题解链接:剑指 Offer 16. 数值的整数次方 方法一:迭代实现快速幂 解题思路 通过迭代的方法,自下向上实现快速幂求解过程,初始化结果 $res = 1$,底数 $t = x$ ,幂次为 $n$。当 $n$ 为奇数时,$res = res * t$,先乘上一个 $t$,此时还有 $n-1$ 个 ......
整数 数值 Offer 16

剑指 Offer 15. 二进制中1的个数

题目链接:剑指 Offer 15. 二进制中1的个数 方法一:位运算 解题思路 x = n & -n,$x$ 表示 $n$ 的最后一位 $1$ 所对应的值,每减去一次 $x$,相当于有一个 $1$,$res ++$ 。 代码 class Solution { public: int hammingW ......
二进制 个数 Offer 15

OpenCV获取相机的内参矩阵和畸变矩阵

实验室任务要截止了,赶紧来上传一下学习成果,终极目的是获取视频每帧的旋转矩阵和平移矩阵,但没办法一口吃个胖子,所以先写一下相机内参矩阵和畸变矩阵的求解办法 先上代码 #include <opencv2/opencv.hpp> #include <iostream> #include <vector> ......
矩阵 畸变 内参 相机 OpenCV

用 Go 剑指 Offer 29. 顺时针打印矩阵

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2: 输入:matrix = [[1,2,3,4],[5,6,7, ......
时针 矩阵 Offer Go 29

一个人的职业生涯之旅 —— 应届生求职、面试、Offer、跳槽(发展瓶颈、薪资倒挂、职业倦怠、骑驴找马、简历优化)问题分享

一、应届生求职问题1、求职平台1、Boss直聘 2、前程无忧 3、拉勾网 4、应届生求职网站_最新更新校园招聘/实习机会/内推资讯_牛客网_牛客网_牛客网 2、简历怎么写2.1、简历照片 1、要与本人形象相符,不要看上去有较大差别,使用最近半年内的免冠照片,选择能够显示自己气质佳的照片,但不要有太大 ......
职业 薪资 瓶颈 职业生涯 生涯

用 Go 剑指 Offer 17. 打印从1到最大的n位数

输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印n 为正整数通过次数251,223提交次数323,027 ......
位数 Offer Go 17

用 Go 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。 示例: 输入:nums = [1,2,3,4]输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。 提示: 0 <= nums.length <= 500000 <= ......
奇数 偶数 数组 顺序 Offer

用 Go 剑指 Offer 11. 旋转数组的最小数字

已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,4,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,4]若旋转 7 次,则可以得到 [0,1,4,4,5,6,7]注意,数组 [ ......
数组 数字 Offer Go 11

剑指offer004(Java)-只出现一次的数字(中等)

题目: 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 示例1: 输入:nums = [2,2,3,2] 输出:3 示例 2: 输入:nums = [0,1,0,1,0,1,100] 输出:100 提示: 1 <= nu ......
数字 offer Java 004

剑指 Offer 14- II. 剪绳子 II

题目链接:剑指 Offer 14- II. 剪绳子 II 方法:数论 解题思路 将 $n$ 分为 $m$ 个数的和,使得这 $m$ 个数的乘积最大,那么应该将 $m$ 个数分为 $2$ 和 $3$ 的组合, 尽可能为 $3$。注意大数越界问题。 代码 class Solution { public: ......
绳子 Offer II 14

剑指 Offer 14- I. 剪绳子

题目链接: 剑指 Offer 14- I. 剪绳子 方法:数论 解题思路 将 $n$ 分为 $m$ 个数的和,使得这 $m$ 个数的乘积最大,那么应该将 $m$ 个数分为 $2$ 和 $3$ 的组合, 尽可能为 $3$。 代码 class Solution { public: int cutting ......
绳子 Offer 14

剑指 Offer 12. 矩阵中的路径

题目链接:剑指 Offer 12. 矩阵中的路径 方法:DFS 解题思路 根据 $word$ 中的第一个字母,从 $board$ 网格中开始查找,通过 $DFS$ 算法思想实现。 注意: 在每一轮开始查找前,每个位置的标记应该清除; 每一个位置有上 下 左 右四个方向可以选择; $DFS$ 查找进入 ......
矩阵 路径 Offer 12

861. 翻转矩阵后的得分

题目描述 给了一个二维矩阵,矩阵的元素不是0就是1 你可以进行任意次操作,让某行或者某列进行翻转 元素的得分是每一行二进制的和 问怎么操作可以让总得分最大? f1 贪心+计算增量 基本分析 为啥可以贪心?(1)对每行来说,首位肯定是1最好,遮掩某些行需要翻转,某些不翻;(2)对同一列来说,大家的优先 ......
矩阵 得分 861

题目 1024: [编程入门]矩阵对角线求和

求一个3×3矩阵对角线元素之和。 解题思路和注意事项: 这道题还是蛮简单,首先要求求一个矩阵的主副对角线的元素和,那肯定要用到的就是多维数组。 多维数组的形式应该为:array[i][j]; 知道这个后我们开始分析题目: 先是主对角线,就是从左上到右下的那条线,我们可以直观的发现它的行列坐标是相等, ......
对角线 对角 矩阵 题目 1024

树:剑指 Offer 68 - II. 二叉树的最近公共祖先

题目描述: 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为: “对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉树: root =  ......
祖先 Offer 68 II

剑指offer56(Java)-数组中出现的次数Ⅰ(中等)

题目: 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1: 输入:nums = [4,1,4,6] 输出:[1,6] 或 [6,1] 示例2: 输入:nums = [1,2,10,4,1,4 ......
数组 次数 offer Java 56