20190702-剑指offer68-AcWing-88. 树中两个结点的最低公共祖先

5个4000比特大状态置换算法的设计与分析 下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。 阅读详情

剑指offer68-AcWing-88. 树中两个结点的最低公共祖先

给出一个二叉树,输入两个树节点,求它们的最低公共祖先。

一个树节点的祖先节点包括它本身。

注意:
输入的二叉树不为空;
输入的两个节点一定不为空,且是二叉树中的节点;

样例

二叉树[8, 12, 2, null, null, 6, 4, null, null, null, null]如下图所示:
    8
   / \
  12  2
     / \
    6   4

1. 如果输入的树节点为2和12,则输出的最低公共祖先为树节点8。
2. 如果输入的树节点为2和6,则输出的最低公共祖先为树节点2。

思路:

     1.先找到两个结点的路径,并保存在vector中 2.在vector中找到其最低公共祖先的结点。

C++ code:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    void FindPath(TreeNode* root, TreeNode *target, int flag, vector<TreeNode*>& path, vector<TreeNode*>& result){
        if(root == NULL || flag == 1){
            return;
        }
        path.push_back(root);
        if(root->val == target->val){
            flag = 1;
            result = path;
            return;
        }
        FindPath(root->left, target, flag, path, result);
        FindPath(root->right, target, flag, path, result);
        path.pop_back();
    }
    
    TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
        if(root == NULL || p == NULL || q == NULL){
            return NULL;
        }
        int flag = 0;
        vector<TreeNode*> path;
        vector<TreeNode*> p_path;
        vector<TreeNode*> q_path;
        FindPath(root, p, flag, path, p_path);
        path.clear();
        flag = 0;
        FindPath(root, q, flag, path, q_path);
        
        TreeNode* res = NULL;
        for(int i = 0; i < p_path.size(); i++){
            if(p_path[i] == q_path[i]){
                res = p_path[i];
            }else{
                break;
            }
        }
        return res;
    }
};
FAGLB03余额显示异常排查与修复指南 本文针对SAP新总账中FAGLB03报表余额显示异常问题,提供了专业的排查与修复指南。文章深入剖析了数据不一致的核心原因,如FAGLFLEXT汇总表与凭证明细不同步、年度余额结转(FAGLGVTR)失败等,并详细介绍了使用FAGLF03进行精准诊断、通过SE38执行标准调整程序TFC_ADJUST_VZ进行修复的标准操作流程,帮助用户快速恢复数据一致性,确保财务报表的准确性。 阅读详情

相关推荐

PX4/ArduPilot源码克隆提速秘籍:国内镜像与子模块优化全攻略

本文详细介绍了PX4/ArduPilot源码克隆的提速秘籍,包括使用国内镜像源和子模块优化技巧。通过阿木实验室、华为云等国内镜像,克隆速度可提升20倍,同时提供子模块替换和并行编译等实用方法,大幅提升开发效率。

weixin_29251567的博客 522

剑指offer38 数字排列

剑指offer38-AcWing-51. 数字排列 输入一组数字(可能包含重复数字),输出其所有的排列方式。 样例 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 思路: C++ code: class Solution { public: ...

WangXu__的博客 548

TM1621/HT1621 段码LCD驱动器

TM1621 LCD 驱动器

qq_45325304的博客 1万+

Leetcode-235. 二叉搜索树的最近公共祖先

Leetcode-235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。” 例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,...

WangXu__的博客 526

图学习——04.HAN(异构图注意力网络)

什么是异构图,什么是元路径,什么是HAN,怎么计算attention,节点级别的attention和语义级别的attention

m0_51474171的博客 2997

VsCode安装和配置c/c++环境(超完整,小白专用)

1. vsCode配置C/C++环境 1. vsCode下载和安装 1. 下载Microsoft vsCode [vsCode在这里插入图片描述官网下载: https://code.visualstudio.com/ 2. 安装vsCode 3. 下载中文插件 我这边已经下载过,刚卸载但是没有重启编译器,所以界面显示了中文 2. MinGW编译器下载和配置 1. 下载MinGW 在线安装——下载MinGW-W64-install.exe(速度慢) 下载压缩包——×86_64-posix-

黄化的多多 60万+

剑指offer33 二叉搜索树的后序遍历序列

剑指offer33-AcWing-46. 二叉搜索树的后序遍历序列 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 如果是则返回true,否则返回false。 假设输入的数组的任意两个数字都互不相同。 样例 输入:[4, 8, 6, 12, 16, 14, 10] 输出:true 思路:     二叉搜索树的后序遍历,最后一个结点为头节...

WangXu__的博客 422

jlink驱动安装

jlink驱动下载安装及keil识别

qq_43868701的博客 3万+

剑指offer53.1 数字在排序数组中出现的次数

剑指offer53.1-AcWing-67. 数字在排序数组中出现的次数 统计一个数字在排序数组中出现的次数。 例如输入排序数组[1, 2, 3, 3, 3, 3, 4, 5]和数字3,由于3在这个数组中出现了4次,因此输出4。 样例 输入:[1, 2, 3, 3, 3, 3, 4, 5] , 3 输出:4 思路:     用二分查找的方法,先查找k所在...

WangXu__的博客 381

从厘米级到公里级:北斗网格10级精度在ArcPro中的完整应用指南

本文提供了北斗网格十级精度体系在ArcGIS Pro中的完整应用指南。详细解析了从660公里到1.5厘米的十级网格尺度及其编码逻辑,并重点演示了如何在ArcPro中生成网格、计算编码,以及根据项目需求(如滑坡监测)选择合适精度层级的实战策略。指南旨在帮助GIS专业人士利用这套统一的网格框架,高效管理多尺度空间数据并优化分析工作流。

Black的专栏 471

【DeepSeek开发入门】DeepSeek API 开发初体验

在人工智能蓬勃发展的时代,DeepSeek作为一款功能强大的AI大模型,为开发者提供了丰富的接口和便捷的开发体验。本文将基于DeepSeek的几个关键接口,带你快速入门,开启DeepSeek开发的探索之旅。通过本文,你已经初步了解了DeepSeek开发中几个重要接口的使用方法,包括列出模型、对话补全和查询余额接口,以及开发过程中的常见问题及解决办法。这是你踏入DeepSeek开发领域的第一步。在后续的学习中,你可以深入研究模型的参数调优,探索不同模型在各种场景下的应用,如利用模型实现更复杂的推理对话功能。

寻道AI,探索AI无限可能! 2754

20190630-剑指offer60-AcWing-80. 骰子的点数

剑指offer60-AcWing-80. 骰子的点数 将一个骰子投掷n次,获得的总点数为s,s的可能范围为n~6n。 掷出某一点数,可能有多种掷法,例如投掷2次,掷出3点,共有[1,2],[2,1]两种掷法。 请求出投掷n次,掷出n~6n点分别有多少种掷法。 样例1 输入:n=1 输出:[1, 1, 1, 1, 1, 1] 解释:投掷1次,可能出现的点数为1-6,共计6种。每种点数都只有1种掷...

WangXu__的博客 345

【SpringBoot 3.x 第51节】带你玩转 GraalVM Native Image:启动快到飞起,内存省到心疼,你还不试试?

🏆本文收录于《滚雪球学SpringBoot 3》,专门攻坚指数提升,本年度国内最系统+最专业+最详细(永久更新)。    本专栏致力打造最硬核 SpringBoot3 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot3教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。    若还想学习更多,可直接前往《滚雪球学SpringBoot(全版本合集)》,涵盖SpringBoot所有版本教学文章

**My Coding Family** 1304

剑指offer40 最小的k个数

剑指offer40-AcWing-53. 最小的k个数 输入n个整数,找出其中最小的k个数。 注意: 数据保证k一定小于等于输入数组的长度; 输出数组内元素请按从小到大顺序排序; 样例 输入:[1,2,3,4,5,6,7,8] , k=4 输出:[1,2,3,4] 思路:     用大顶堆保存k个数,然后不断的遍历数组,若是数组中的数小于堆顶元素,则替换。实...

WangXu__的博客 298

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

20190630-剑指offer63-AcWing-83. 股票的最大利润

剑指offer63-AcWing-83. 股票的最大利润 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖 一次 该股票可能获得的利润是多少? 例如一只股票在某些时间节点的价格为[9, 11, 8, 5, 7, 12, 16, 14]。 如果我们能在价格为5的时候买入并在价格为16时卖出,则能收获最大的利润11。 样例 输入:[9, 11, 8, 5, 7, 12, 16, 14] 输出:...

WangXu__的博客 285

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

剑指offer15 二进制中1的个数

剑指offer15-AcWing-26.二进制中1的个数 输入一个32位整数,输出该数二进制表示中1的个数。 注意: 负数在计算机中用其绝对值的补码来表示。 样例1 输入:9 输出:2 解释:9的二进制表示是1001,一共有2个1。 样例2 输入:-2 输出:31 解释:-2在计算机里会被表示成11111111111111111111111111111110,一共有31个1。 思路1: &nbsp...

WangXu__的博客 280

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

20190627-剑指offer50.2-AcWing-64. 字符流中第一个只出现一次的字符

剑指offer50.2-AcWing-64. 字符流中第一个只出现一次的字符 请实现一个函数用来找出字符流中第一个只出现一次的字符。 例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是’g’。 当从该字符流中读出前六个字符”google”时,第一个只出现一次的字符是’l’。 如果当前字符流没有存在出现一次的字符,返回#字符。 样例 输入:"google" 输出:"ggg#ll"...

WangXu__的博客 279

20190511-剑指offer3-AcWing-14.不修改数组找出重复的数字

剑指offer2-AcWing-14.不修改数组找出重复的数字 给定一个长度为 n+1 的数组nums,数组中所有的数均在 1∼n 的范围内,其中 n≥1。 请找出数组中任意一个重复的数,但不能修改输入的数组。 样例 给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。 返回 2 或 3。 思考题:如果只能使用 O(1) 的额外空间,该怎么做呢? 思路: 1.题目中有重要的信息就...

WangXu__的博客 270

剑指offer10 斐波那契数列

剑指offer9-AcWing-21. 斐波那契数列 输入一个整数 n ,求斐波那契数列的第 n 项。 假定从0开始,第0项为0。(n<=39) 样例 输入整数 n=5 返回 5 思路1:     递归的方法,重要的是写明确递归结束的条件,C++代码可以正常通过,python代码溢出 C++代码: class Solution { public: ...

WangXu__的博客 268

20190601-剑指offer18.1-AcWing-28. 在O(1)时间删除链表结点

剑指offer18-AcWing-28. 在O(1)时间删除链表结点 给定单向链表的一个节点指针,定义一个函数在O(1)时间删除该结点。 假设链表一定存在,并且该节点一定不是尾节点。 样例 输入:链表 1->4->6->8 删掉节点:第2个节点即6(头节点为第0个节点) 输出:新链表 1->4->8 思路:     先复制后一个...

WangXu__的博客 263

剑指offer58.2 左旋转字符串

剑指offer58.2-AcWing-78. 左旋转字符串 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。 请定义一个函数实现字符串左旋转操作的功能。 比如输入字符串"abcdefg"和数字2,该函数将返回左旋转2位得到的结果"cdefgab"。 注意: 数据保证n小于等于输入字符串的长度。 样例 输入:"abcdefg" , n=2 输出:"cdefgab" 思路1: &nb...

WangXu__的博客 262

剑指offer2 找出数组中重复的数字

剑指offer-AcWing-13.找出数组中重复的数字 给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内。 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 请找出数组中任意一个重复的数字。 注意:如果某些数字不在 0∼n−1 的范围内,或数组中不包含重复数字,则返回 -1; 样例 给定 nums = [2, 3, 5, 4, 3...

WangXu__的博客 259

剑指offer58.1 翻转单词顺序

剑指offer58.1-AcWing-77. 翻转单词顺序 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。 为简单起见,标点符号和普通字母一样处理。 例如输入字符串"I am a student.",则输出"student. a am I"。 样例 输入:"I am a student." 输出:"student. a am I" 思路:    &...

WangXu__的博客 259

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 167

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 229

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 552
上一篇: 剑指offer67 把字符串转换成整数
下一篇: Leetcode-235. 二叉搜索树的最近公共祖先
WangXu__
博客等级 码龄9年 3粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值