记录D11-23.5.30

如何在Windows 11上安装pycocotools(实操记录) 阅读详情

周末都在休息…
开始二叉树吧
首先,别忘记了二叉树的定义

struct TreeNode{
	int val;
	TreeNode* left;
	TreeNode* right;
	TreeNode(int x):val(x), left(NULL), right(NULL);
};

二叉树的遍历方式

遍历的方法分为两种,递归和迭代。
递归算法有三个要素,每次写递归都可以用这三要素来实现设计。

  1. 确定递归函数的参数和返回值
  2. 确定终止条件
  3. 确定单层递归的逻辑

LC144 二叉树的前序遍历

class Solution {
public:
    void traversal(TreeNode* cur, vector<int>& vec){
        if(cur==NULL) return;
        vec.push_back(cur->val);
        traversal(cur->left,vec);
        traversal(cur->right,vec);
    }

    vector<int> preorderTraversal(TreeNode* root) {
        vector<int> ans;
        traversal(root,ans);
        return ans;
    }
};

LC145 二叉树的后序遍历

class Solution {
public:
    void traversal(TreeNode* cur, vector<int>& vec){
        if(cur==NULL) return;
        traversal(cur->left, vec);
        traversal(cur->right, vec);
        vec.push_back(cur->val);
    }
    vector<int> postorderTraversal(TreeNode* root) {
        vector<int> ans;
        traversal(root, ans);
        return ans;
    }
};

LC94 二叉树的中序遍历

class Solution {
public:
    void traversal(TreeNode* cur, vector<int>& vec){
        if(cur==NULL) return;
        traversal(cur->left, vec);
        vec.push_back(cur->val);
        traversal(cur->right, vec);
    }
    vector<int> inorderTraversal(TreeNode* root) {
        vector<int> ans;
        traversal(root, ans);
        return ans;
    }
};

迭代

LC144 二叉树的前序遍历

前序遍历是中左右,但是在进入栈的时候需要先让右子树进入,这样在左子树进入之后才能找到top,并继续压入左右子树。

class Solution {
public:
    vector<int> preorderTraversal(TreeNode* root) {
        stack<TreeNode*> stk;
        vector<int> ans;
        if(root==NULL) return ans;//如果不对NULL进行处理,会报错:runtime error: member access within null pointer of type 'TreeNode' (solution.cpp)
        stk.push(root);
        while(!stk.empty()){
            TreeNode* temp=stk.top();
            ans.push_back(temp->val);
            stk.pop();
            if(temp->right) stk.push(temp->right);
            if(temp->left) stk.push(temp->left);
        }
        return ans;
    }
};

LC145 二叉树的后序遍历

和前序的比较像,需要稍微修改。
前序遍历是中左右,在代码里面是中->ans,先右后左进入栈。
后序遍历先对进栈顺序进行调整,先左后右。在代码里面是中->ans,先左后右进入栈。
最后对整个ans进行反转,就是左右中的正确顺序了。

class Solution {
public:
    vector<int> postorderTraversal(TreeNode* root) {
        stack<TreeNode*> stk;
        vector<int> ans;
        if(root==NULL) return ans;
        stk.push(root);
        while(!stk.empty()){
            TreeNode* temp=stk.top();
            stk.pop();
            ans.push_back(temp->val);
            if(temp->left) stk.push(temp->left);
            if(temp->right) stk.push(temp->right);
        }
        reverse(ans.begin(),ans.end());
        return ans;
    }
};

LC94 二叉树的中序遍历

中序遍历和前序很不一样。前序和后序都可以通过先将中进入stk,但是中序是左中右,所以不能做到这种操作。因此需要用指针来进行深度搜索。

class Solution {
public:
    vector<int> inorderTraversal(TreeNode* root) {
        stack<TreeNode*> stk;
        vector<int> ans;
        if(root==NULL) return ans;
        TreeNode* cur=root;
        while(cur!=NULL || !stk.empty()){
            if(cur!=NULL){
                stk.push(cur);
                cur=cur->left;
            }
            else{
                cur=stk.top();
                stk.pop();
                ans.push_back(cur->val);
                cur=cur->right;
            }
        }
        return ans;
    }
};
中兴远航30 Pro系列解锁BL与Magisk刷机全攻略:从MT6833芯片到MyOS11.5的完整root指南 本文详细介绍了中兴远航30 Pro系列手机(MT6833芯片)解锁BL与刷入Magisk获取root权限的完整教程。从准备工作到具体操作步骤,包括解锁Bootloader、刷入Magisk 25.1以及root后的优化设置,帮助用户安全高效地完成刷机过程。适用于MyOS11.5系统的7532N/8040N/9041N型号。 阅读详情

相关推荐

Windows 11 23H2新特性与ARM64开发环境配置指南

操作系统架构选择是开发者面临的基础决策,x64与ARM64架构在性能、能效和软件生态上各具优势。x64凭借成熟的软件生态仍是主流选择,而ARM64凭借出色的能效比正逐步渗透PC领域。Windows 11 23H2版本通过改进x86/x64应用在ARM平台上的转译性能,显著提升了开发环境兼容性。在虚拟化技术方面,该版本优化了Hyper-V支持,使开发者能够更高效地运行鸿蒙本地模拟器等工具。对于需要跨平台开发的场景,合理配置QEMU转译环境和WSL2子系统可大幅提升工作效率。

weixin_33853794的博客 296

slurm 23.11.0集群 debian 11.5 安装

Slurm(Simple Linux Utility for Resource Management, http://slurm.schedmd.com/ )是开源的、具有容错性和高度可扩展的Linux集群超级计算系统资源管理和作业调度系统。超级计算系统可利用Slurm对资源和作业进行管理,以避免相互干扰,提高运行效率。所有需运行的作业,无论是用于程序调试还是业务计算,都可以通过交互式并行srun、批处理式sbatch或分配式salloc等命令提交,提交后可以利用相关命令查询作业状态等。

凤凰涅槃而生 3260

D30: 最终总结——从入门到精通的成长之路

摘要: 《D30: 最终总结》系统回顾了30天OpenClaw学习之旅的四个阶段:从基础认知到生产级部署。核心提炼出10大认知升级,包括将Agent视为协作队友、记忆系统的重要性、场景驱动的开发思维等。文章提供了可落地的技术实践框架,涵盖开发流程、代码组织、错误处理等关键环节,并分短/中/长期给出进阶建议。最终强调AI领域需要持续学习,鼓励读者将知识转化为实际生产力,在业务场景中持续迭代优化。(149字) 关键词: OpenClaw、AI Agent、认知升级、最佳实践、记忆系统、场景驱动、生产部署、持续学

刘一说的IT专栏 989

Windows 11 23H2架构解析与安装指南

操作系统架构是计算机系统的核心基础,x64与ARM64作为当前主流架构各有优势。x64架构凭借成熟的软件生态和强大的计算性能,仍是桌面计算的首选;而ARM64架构则以出色的能效比和移动特性,在便携设备领域快速发展。Windows 11 23H2版本通过优化ARM64支持,显著提升了x64应用转译性能,使Surface Pro X等设备获得更佳体验。了解系统架构差异对开发者环境配置、虚拟机部署和性能优化都至关重要。本文以Windows 11 23H2为例,详解如何通过Rufus工具制作启动盘,并正确处理TPM

weixin_34269583的博客 437

基于TI MSPM0的PS2双轴按键摇杆模块ADC+GPIO驱动移植实战

本文详细介绍了在TI MSPM0微控制器上驱动PS2双轴按键摇杆模块的完整实战流程。通过SysConfig图形化工具配置ADC与GPIO引脚,并编写了包含ADC采样、按键检测及数据处理的驱动代码,实现了对摇杆X/Y轴模拟量及按键数字量的稳定读取,为嵌入式控制项目提供了可直接移植的解决方案。

weixin_42465140的博客 83

Matlab机械臂建模:机器人工具箱的使用&&导入自己的机械臂模型

本文主要介绍如何在matlab中建立机械臂模型(前提要下载了Robotics Toolbox机器人工具箱~),并进行基于正逆运动学计算的轨迹运动。对于已有的Solidworks机械臂三维模型,如何导入Matlab,并对其进行运动控制。

m0_46427461的博客 5万+

D3D11中的绘制

两种绘制方式: 1、 使用顶点缓存进行绘制 (1) 创建顶点缓存   a) 声明一个描述顶点数据的结构   b) 使用实际的顶点数据填充顶点结构数组   c) 创建一个D3D11_BUFFER_DESC对象(a buffer description),将其BindFlags成员赋值为D3D11_BIND_VERTEX_BUFFER, ByteWidth成员赋值为顶点对象数组    ...

weixin_30924087的博客 628

给STM32F4装上耳朵:用麦克风模块和Keil MDK实现你的第一个语音指令(附完整代码)

本文详细介绍了如何使用STM32F4开发板和麦克风模块实现简单的语音指令识别系统。通过Keil MDK开发环境配置、ADC音频采样、语音活动检测和模板匹配算法,开发者可以快速构建响应'开灯'、'关灯'等基础指令的语音交互方案。文章包含完整代码实现和调试技巧,特别适合STM32初学者入门语音识别领域。

weixin_29171087的博客 434

GeoServer 2.23.4升级实战:从Jetty漏洞修复到OpenJDK11踩坑全记录

本文详细记录了GeoServer从2.11.1紧急升级至2.23.4以修复Jetty安全漏洞的全过程。重点分享了升级前的风险评估与备份策略、OpenJDK 11的部署与优化、数据迁移的实战步骤,并总结了从JDK 17回退至OpenJDK 11的兼容性踩坑经验,为生产环境升级提供了一份完整的操作指南。

weixin_28834169的博客 331

变压器铁心100Hz振动噪声的COMSOL磁致伸缩仿真全流程

磁致伸缩是铁磁材料在磁场作用下发生尺寸变化的现象,也是变压器铁心振动与噪声产生的根本原因。由于应变与磁通密度近似成平方关系,50Hz电网激励下铁心振动基频为100Hz。借助COMSOL多物理场仿真,可将磁场计算结果映射为结构应力和变形,完成“电磁—结构”单向耦合分析。该技术广泛应用于变压器振动噪声预测、结构优化及故障诊断等工程场景。本文从磁致伸缩物理机理出发,系统梳理了材料参数、等效建模、边界条件设置和结果校核等关键步骤,帮助工程师掌握从磁致伸缩到结构变形的完整仿真链路,解决实际工程对标难题。

weixin_33796177的博客 312

单卡也能玩转Qwen2.5-VL微调!3090实测Grounding任务调参技巧大全

本文详细介绍了如何在单张RTX 3090显卡上,通过梯度累积、BF16混合精度训练、梯度检查点等关键技术,成功微调Qwen2.5-VL多模态大模型以完成Grounding视觉定位任务。文章提供了从数据处理、参数配置到训练监控的完整实战调参技巧,为资源有限的开发者提供了可行的解决方案。

weixin_29098117的博客 424

2024-12-23 联想小新Air14 2021 锐龙版AMD 重装Window11问题记录(解决WIFI驱动问题)

2024-12-23 联想小新Air14 2021 锐龙版AMD 重装Window11记录(解决WIFI驱动问题)

qq_37567841的博客 2663

Transformer从菜鸟到新手(一)

从本文开始回顾一下Transformer的原理与实现细节,包括分词算法BPE的实现。最终利用从零实现的Transformer模型进行英中翻译。

日积月累,天道酬勤 2124

centos7安装mysql5.7.23_centos 7 安装MySQL 5.7.23

centos 7安装MySQL 5.7.231、 上传MySQL安装包到服务器mysql-5.7.23-linux-glibc2.5-x86_64.tar.gz2、 解压MySQL安装包tar -zxvfmysql-5.7.23-linux-glibc2.5-x86_64.tar.gz3、 将解压的安装包移动到/usr/local下并命名为mysql-------(typically/us...

weixin_34216614的博客 238

FPGA原型验证(七):如何选择、搭建原型验证平台?

本篇概要::讨论了在项目初期选择目标FPGA平台的重要性,包括自制板卡与购买现成板卡之间的决策。主要是为那些希望建立基于FPGA的原型平台的工程师和设计师提供了深入的技术细节和决策指导,无论是选择自制还是购买现成的解决方案。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 943

AI驱动的网络安全运维:智能化时代的安全保障

本项目旨在使用Python和AI技术构建一个智能化的网络安全运维系统,能够实时监测网络流量,检测潜在的安全威胁,并自动采取应对措施,从而提升网络安全管理的效率和准确性。具体内容包括:环境配置与依赖安装数据采集与预处理机器学习模型构建与训练实时威胁检测与响应实际应用案例通过本文的介绍,我们展示了如何使用Python和AI技术构建一个智能化的网络安全运维系统。

Echo_Wish 1290

centos 7 安装MySQL 5.7.23

centos 7 安装MySQL 5.7.23 1、 上传MySQL安装包到服务器 mysql-5.7.23-linux-glibc2.5-x86_64.tar.gz 2、 解压MySQL安装包 tar -zxvf mysql-5.7.23-linux-glibc2.5-x86_64.tar.gz 3、 将解压的安装包移动到/usr/local下并命名...

dhhpkf9734的博客 223

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

oracle 11g rac 执行root.sh报错记录

环境:centos7.5 + rac 11.2.0.4 一、找不到包错误 Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific r

weixin_43475880的博客 4516

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

linux之perf(5)record记录

这个命令会运行一个命令,并从中收集性能计数器的信息,将其存储到perf.data文件中,过程中并不显示任何内容。然后,你可以使用命令在后续进行审查这个文件。这里有一个简单的例子:首先,我们运行$ perf record -F 99 -p 12345 # 99 是采样率,12345 是进程ID上述命令会将性能数据存储到perf.data文件中。然后,我们可以使用$ perf report # 这会显示 perf.data 文件中的信息默认会读取perf.data。

梅花香自苦寒来,宝剑锋从磨砺出。 3409

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

寒假学习记录D23

题目描述 给你一个1->n的排列和一个栈,入栈顺序给定 你要在不打乱入栈顺序的情况下,对数组进行从大到小排序 当无法完全排序时,请输出字典序最大的出栈序列 输入描述: 第一行一个数n 第二行n个数,表示入栈的顺序,用空格隔开,结尾无空格 输出描述: 输出一行n个数表示答案,用空格隔开,结尾无空格 示例1 输入 5 2 1 5 3 4 输出 5 4 3 1 2 说明 2入栈;1入栈;5入栈;5出栈;3入栈;4入栈;4出栈;3出栈;1出栈;2出栈 #i..

qq_53782756的博客 187

ubuntu源码安装mysql5.7_Ubuntu18.04编译安装mysql5.7.23

本博客为源码安装mysql5.7.23案例全过程环境ubuntu18.04安装规划:配置文件:/etc/my.cnf数据目录:/r2/mysqldata安装目录:/usr/local/mysql1.下载mysql-boost2.安装工具sudo apt-get install cmake -yapt-get install gcc g++ -yapt-get install git -yapt-g...

weixin_32344641的博客 252

TranslucentTB 任务栏功能异常:Windows 11 23H2 兼容性问题的5种解决方案

TranslucentTB 在 Windows 11 23H2 环境下可能出现以下典型症状,用户可通过这些表现快速判断兼容性问题: 1. **启动闪退**:程序启动后立即崩溃,无任何错误提示,进程列表中短暂出现后消失 2. **快捷键失效**:预设的任务栏样式切换快捷键(如Win+T)无响应,需手动通过托盘菜单操作 3. **主题同步异常**:系统切换浅色/深色主题时,任务栏透明度未跟随变化 4

gitblog_00162的博客 265

Win11 + VS2022 + CUDA 11.6 复现 GraspNet 记录

模型较为久远,与新版本的显卡存在一定的兼容性问题,因此我对代码进行了一些简单的修改,以便在新环境下能够正常运行。2019更好,我看都说2022版本会报错,改成2019才行,但是我2022加了两个参数之后编译也通过了。:只要需要编译 CUDA 扩展(如 GraspNet 的。帮我生成了一版,运行之后相机打开,聚焦在弹出的窗口中,按。安装系统级的 CUDA Toolkit(包含。只有运行库,没有编译器,是无法完成复现的。3.8也可,也有成功复现的例子。项目进行改写的版本,适用于。中的内容(注意路径修改)

xu2638754439的博客 887

30天自制操作系统 第11天日志

30天自制操作系统day11一、实验主要内容1、 内容1:鼠标显示问题2、 内容2:实现画面外的支持3、 内容3:shtctl的指定省略4、 内容4:显示窗口5、 内容5:小实验6、 内容6:高速计数器7、 内容7:消除闪烁(1)8、 内容8:消除闪烁(2)二、遇到的问题及解决方法1、 描述问题12、 描述问题23、 描述问题3描述问题4描述问题5描述问题7三、程序设计创新点1、描述创新点12、描述创新点2 一、实验主要内容 1、 内容1:鼠标显示问题 在harib07d中鼠标移动到右侧后不能再移动了,而在

人间烟火的博客 546

Windows11+VS2022+PCL1.13.0 安装配置记录

Windows系统下搭配VS2022,安装PCL1.13。

WoooChi的博客 1万+
上一篇: 记录D10-23.5.26
下一篇: 记录D12&13-23.5.31&6.1
lostcorner
博客等级 码龄9年 9粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值