两个offer

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

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

ovs设置开机启动,创建两个名空间用户主机ping,使用scapy发包

1. 在 /etc/init.d 目录下修改rsC文件,添加要执行的启动脚本 #!/bin/sh # Start all init scripts in /etc/init.d # executing them in numerical order. # for i in /etc/init.d/S ......
两个 主机 用户 scapy 空间

Java - 源码分析技巧的两个点

1. 通过 debug 回退。一般这个方法可以适用于大部分情况。 2. 制造异常:查看堆栈调用链。如果遇到了不可回退的情况,可以通过故意制造异常的方法来获取调用链,依次回退调用链可以帮助我们分析源码。 详细视频:[Spring Security6.x 自定义数据模型源码分析](https://www ......
源码 两个 技巧 Java

【剑指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

力扣-4-寻找两个正序数组的中位数

题目要求`O(log (m+n))`的时间复杂度 知道了两个数组的长度,那么中位数的下标以及如何计算是可以确定的,给出的是两个正序数组,如果使用双指针,从两个数组头开始扫描并比较,找出合并后第 K 小的数字,时间复杂度是多少? 时间复杂度是`O((M+N)/2)`,这个目标还不及题目的要求,看到`l ......
中位数 数组 两个

剑指 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

欧几里得算法(辗转相除法)-- 计算两个数的最大公约数

> 博客地址:https://www.cnblogs.com/zylyehuo/ ```python # -*- coding: utf-8 -*- # 递归 def gcd(a, b): if b == 0: return a else: return gcd(b, a % b) print(gc ......

《剑指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

【剑指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

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

本题比较重要的有两点: 1.一般认为有序的二叉搜索树,都是中序遍历。 2.中序遍历的递归顺序,得到的就是排好序的,就是链表的顺序,因此只需管遍历的过程中的链表指向即可。 class Solution { public: // pre将来指向尾节点,head指向头节点 Node *pre = null ......
双向 Offer 36

比较两个文件是否相同的办法

原本是朴素的遍历写法,后面改为mmap后速度提升飞快(大部分时候一秒以内可以出结果)。可以用于比较两个文件内容是否相同,包括图片也可以(图片用open函数打开后是一堆乱码,相当于比较乱码)。Talk is cheap, show me your code。 #include <iostream> # ......
两个 办法 文件

代码随想录算法训练营第六天|242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

哈希表部分: 哈希表,简单来说就是k-v形式查询的结构,用来快速判断一个元素是否出现集合里,如hashmap 核心是哈希函数,k存哈希函数的值,找的时候找查询项的哈希函数值就行,返回v 出现哈希碰撞的时候,查找的流程怎么走呢?(*存疑,之后查一下) 类型:数组+集合set(set、multiset、 ......
随想录 之和 训练营 数组 交集

剑指 Offer 16. 数值的整数次方(中等)

题目 ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230818213231189-1248629502.png) ``` class Solution { public: double traversal(double ......
整数 数值 Offer 16

剑指 Offer 34. 二叉树中和为某一值的路径

dfs class Solution { public: vector<vector<int>> res; vector<int> tmp; void dfs(TreeNode *node, int target) { if(node == nullptr ) return; target -= n ......
路径 Offer 34

使用 OpenCV Python 检测和可视化两个图像之间的差异

使用 OpenCV Python 检测和可视化两个图像之间的差异 转自:使用 OpenCV Python 检测和可视化两个图像之间的差异 - Glasshost 如果您需要比较两个图像并确定它们之间的差异,OpenCV Python 提供了一种简单有效的方法来完成此任务。本指南将向您展示如何使用Op ......
图像 差异 之间 两个 OpenCV

windows10 登陆FTP成功后总是打开两个窗口

具体现象: 使用windows资源管理器打开登陆FTP,登陆FTP成功后当前窗口显示此文件夹为空,不在当前窗口显示文件夹内容,却在当前窗口后重新打开了一个资源管理器窗口显示FTP文件夹内容 解决方法: 在资源管理器中输入地址时加上用户名,比如ftp://test@192.168.1.100 ......
两个 windows FTP 10

【剑指Offer】65、矩阵中的路径

# 【剑指Offer】65、矩阵中的路径 **题目描述:** 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 ......
矩阵 路径 Offer

【剑指Offer】62、二叉搜索树的第k个结点

# 【剑指Offer】62、二叉搜索树的第k个结点 **题目描述:** 给定一棵二叉搜索树,请找出其中的第k小的结点。例如(5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。 **解题思路:** 本题实际上比较简单,主要还是考察对树的遍历的理解,只要熟练掌握了树的三种遍历方式及 ......
结点 Offer

【剑指Offer】61、序列化二叉树

# 【剑指Offer】61、序列化二叉树 **题目描述:** 请实现两个函数,分别用来序列化和反序列化二叉树。 **解题思路:** 序列化是指将结构化的对象转化为字节流以便在网络上传输或写到磁盘进行永久存储的过程。反序列化是指将字节流转回结构化的对象的过程,是序列化的逆过程。 受第4题:重建二叉树的 ......
序列 Offer

linux 中awk命令输出两个文件中各自特有的行

001、 [root@PC1 test02]# ls a.txt b.txt [root@PC1 test02]# cat a.txt ## 测试数据 77 jj jj ee ww [root@PC1 test02]# cat b.txt ## 测试数据 xx rr ee 88 ww [root@P ......
命令 两个 文件 linux awk

linux 中awk输出两个文件中重复的行

001、 [root@PC1 test02]# ls a.txt b.txt [root@PC1 test02]# cat a.txt ## 测试文件 88 77 jj ff yy rr tt [root@PC1 test02]# cat b.txt ## 测试文件 uu rr tt uu 77 8 ......
两个 文件 linux awk