自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 问答 (1)
  • 收藏
  • 关注

原创 ROS2创建 base 包用于其他模块的参数配置和头文件依赖

Problem:ROS2项目开发中存在以下需求:有多个包需要读取一些共同的配置项(以txt或者yaml形式存在),且依赖于一些公用的utils工具代码(C++)。Solution: 创建一个 base_config 包来“存放” 配置文件和公用的头文件。

2024-12-03 12:11:23 613

原创 美团笔试其中一题——ABC三个数乘积最大化

给你三个正数abc和一个k,你有k次机会,每次可以将abc其中一个加一,求k次机会后,abc乘积的最大值例如 a b c 为 1 2 1,k为2,则最大值为222 = 8。

2024-08-27 09:28:36 252

原创 OPPO提前批笔试 B卷

一个长为n的正整数数组,现随机从数组中删除一个数,求删除后数组奇数位和与偶数位和的绝对值的最小值。(奇偶位置为删除以后的数组)。

2024-08-11 15:41:34 398

原创 C++ 智能指针及实现(不成熟)

智能指针是C++11新特性,其特点是:RAII的设计思路,在对象创建时建立资源,在析构时释放资源,从而避免异常机制导致的资源未释放问题。常用智能指针有因此,使用如下代码创建智能指针基类BaseSmartPtr,并实现* -> 和 get()。(全文仅代表我自己学习的一个demo,我本人才疏学浅,STL并不是这么做的。

2024-08-11 13:25:22 349

原创 找工作准备刷题Day21 动态规划算法 (卡尔41期训练营 8.6)

这个题目可以转换为01背包问题:背包大小为数组和的一半,每份材料的weight和value就是nums元素取值。请问这种情况下,dp[二分之一sum] 是否等于 二分之一sum,如果等于,那么就存在,都则就不存在。可以使用两个辅助数组,分别记录从左到右的乘积和从右到左的乘积,然后使用前缀积即可。进一步,可以优化得到空间复杂度为O(1)的方案。

2024-08-06 21:10:57 339

原创 找工作准备刷题Day14 回溯算法 (卡尔41期训练营 7.29)

使用两个变量:preDiff 和 curDiff,分别记录 前一次相邻元素差值和 此处相邻元素值之差,只有当preDiff 和 curDiff 符号不同,摆动序列长度加一。如果 count < 0,则后续计算不加上 nums[i]。

2024-07-29 22:17:08 380

原创 2024.7.28 记录一次悲惨的笔试——作业帮NLP校招

一开始打算用回溯法做,但是超时了,因为是2^n的复杂度。超时以后我发现有组合数的这个办法,但是没有时间写完了。

2024-07-28 15:20:49 335

原创 找工作准备刷题Day13 回溯算法 (卡尔41期训练营 7.27)

答案二更好,原因是:坐过的机票需要“撕毁”,第二种只需要将 int -- 即可,而第一种需要删除键,回溯时需要再insert,会导致迭代器失效。此题重点在于:需要返回字典序顺序最小的结果,从“JKF”机场出发。因此,可以以字典序从小到大的顺序依次乘坐以JKF为出发机场的机票。由于题目保证只有一个解,因此在这一枝已经找到返回合适值的时候,无需继续回溯。由于已经是字典序升序访问,因此在这一枝找到结果以后,就直接返回,无需回溯。这里的重点是,在遍历的时候,需要使用引用。返回所有不重复的全排列。

2024-07-28 13:03:58 1063

原创 找工作准备刷题Day12 回溯算法+动态规划 (卡尔41期训练营 7.26)

因此首先对nums进行排序,其次在同一层遍历用,跳过相同元素(见continue语句)如果 sum 为奇数,那么返回 false(使用 & 1 判断)与上一题区别:nums中存在重复元素。使用右移运算符

2024-07-26 16:18:30 619

原创 找工作准备刷题Day11 回溯算法+动态规划 (卡尔41期训练营 7.25)

此题与第一题不同在于:不可以重复选取元素,就算candidates里头有两个1,也只能使用一次。这里为了避免使用同一个元素,首先对candidates进行排序,紧接着才回溯遍历时,使用。由于可以使用重复元素,在向深处遍历时,从当前 i 开始;利用函数参数的传值特性,不用sum加了然后减。对于一个字符串是否回文,使用双指针进行遍历即可。sum大于target时,可以进行剪枝。第一次做不懂什么叫二叉搜索树。跳过重复元素,这个技巧在。

2024-07-25 17:08:49 729

原创 找工作准备刷题Day10 回溯算法 (卡尔41期训练营 7.24)

回溯算法今天这几个题目做过,晚上有面试,今天水一水。

2024-07-24 13:31:44 561

原创 找工作准备刷题Day9 二叉树 (卡尔41期训练营 7.23)

对于一个二叉搜索树,平衡二叉树建立起来很简单。将nums中间的元素作为根节点,左边的数组建立左子树,右边的数组建立右子树即可。Utils函数的参数left和right分别为待建立树的数组区域,左闭右闭。

2024-07-23 15:53:36 285

原创 找工作准备刷题Day8 二叉树 (卡尔41期训练营 7.22)

【3】、左右子树均不为空,为了保证删除root后仍为二叉搜索树,可以将左子树设置为右子树最左边节点的左子树(详见代码,下图从卡尔代码网复制过来的)。【2】、左子树或者右子树其中一个为nullptr时,delete root,返回不为空的子树;【1】、左子树和右子树均为nullptr,delete root,返回nullptr即可;根据二叉搜索树的特性:根节点大于所有左子树节点,根节点小于所有右子树节点。对于普通二叉树,可以写出题解2。据此可以写出题解1。

2024-07-23 15:19:33 839

原创 算法与数据结构——大顶堆 and 小顶堆

树中所有根节点必须大于等于其左儿子和右儿子,因此根节点是最大值。:树中所有根节点必须大于等于其左儿子和右儿子,因此根节点是最小值。

2024-07-23 11:09:48 320

原创 找工作准备刷题Day7 二叉树 (卡尔41期训练营 7.20)

根据二叉搜索树的有序性质,使用中序遍历,如果root的val和pre的val相同,则将count++;否则将count设置为1。如果count大于max_count,将max_count设置为新的count,并将result数组清空。由于是二叉搜索树,根据其有序性,选择中序遍历,使用pre存储上次遍历的结果。记得更新pre的取值。

2024-07-21 20:23:17 413

原创 找工作准备刷题Day6 二叉树 (卡尔41期训练营 7.19)

需要注意 大于等于(>=)。似乎无法使用统一迭代法。

2024-07-21 19:02:51 313

原创 找工作准备刷题day5 二叉树 (卡尔41期训练营 7.18)

element.second是element.first->val的路径上元素之和。

2024-07-19 14:43:40 219

原创 找工作准备刷题day4 二叉树+动态规划

第二题 Leetcode257. 二叉树的所有路径题解要点 回溯算法,回溯特点:使用函数参数的传值 函数参数含义:str 为已有路径,time 为是否是第一个数字,用于控制 “->” 的输出 to_string() 函数将数字转成字符串,位于头文件中;atoi 函数将字符串转成整数,如果不能转换则返回0,位于 ,对于string字符串,需要使用 str.c_str() 函数将其转成char*;atof 类似。第三题:Leetcode40

2024-07-18 15:12:07 936

原创 找工作准备刷题day3 二叉树+动态规划

需要考虑0和1这两种情况。

2024-07-16 23:18:38 173

原创 找工作准备刷题day2 二叉树+贪心算法

【代码】找工作准备刷题day2 二叉树+贪心算法。

2024-07-15 22:14:57 242

原创 找工作准备刷题day1 栈与队列

【代码】面试准备刷题day11 栈与队列。

2024-07-14 15:05:24 330 1

原创 Orin安装OpenCV

使用jetpack对Nvidia AGX Orin刷机后,系统自带的OpenCV4.5.6位于/usr/include中,此版本没有CUDA加速,因此将其卸载并使用源码编译OpenCV4.6.0(带有CUDA)。非原创,仅做配置流程记录。

2024-01-15 18:34:33 733

原创 无人机仿真环境配置初探(Unreal Engine + AirSim Plugin)

使用AirSim插件搭配UE引擎实现无人机飞行环境仿真

2023-09-05 11:43:06 4088

原创 ROS2入门(一)——工作空间

本人ROS2学习记录

2023-08-21 16:21:05 508 1

原创 NVIDIA ORIN配置Pytorch和Torchvision

在NVIDIA AGX ORIN平台配置Pytorch-v2.1.0和torchvision-v0.15.2,已成功。

2023-08-17 14:34:15 2108 8

原创 C++语言——新旧代码接口

C++ Primer学习记录

2023-08-03 21:31:40 91

原创 求数组中逆序对——分治算法

求数组中逆序对——分治算法问题描述见算法导论第三版5.2-5.题目分析该问题可以借助快速排序的主代码,在左右两侧子数组排序、子数组合并的过程中加入逆序对个数计算的过程。基本过程如下:1、如果数组计算区域仅包含一个元素,返回0;2、否则,将数组分为左右两段[left,mid)与[mid,right),对两个子数组进行排序,并计算左侧逆序对数目a和右侧逆序对数目b; 3、合并:计算横跨左右的逆序对数目c(该过程技巧位于while循环处:如果左侧数组元素array[ptrL]值大于右侧元素arr

2022-04-14 17:23:46 722

原创 最大子数组问题——暴力、分治、线性算法

分治算法问题描述给定数组A,求出下标i 和 j,s.t. ∑k=ijAk\sum_{k=i}^j A_k∑k=ij​Ak​最大。思路对于A[left,right],其中位元素下标如下:mid = left +(right-left)/2其区间求和最大子数组的两侧i,j可分为三种情况:left⩽\leqslant⩽i⩽\leqslant⩽j⩽\leqslant⩽mid,即完全位于左侧半个数组中mid<i⩽\leqslant⩽j⩽\leqslant⩽right,即完全位于右侧半个数组中

2022-04-06 18:34:54 329

转载 import pyaudio 出现DLL load failed原因与解决方法错误

import pyaudio 出现错误解决方法之一:在conda prompt内输入以下命令:conda install -c anaconda portaudio原文链接:感谢知乎大神Jack的分享

2020-12-21 20:31:23 360

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除