- 博客(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
原创 找工作准备刷题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
原创 找工作准备刷题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
原创 Orin安装OpenCV
使用jetpack对Nvidia AGX Orin刷机后,系统自带的OpenCV4.5.6位于/usr/include中,此版本没有CUDA加速,因此将其卸载并使用源码编译OpenCV4.6.0(带有CUDA)。非原创,仅做配置流程记录。
2024-01-15 18:34:33
733
原创 NVIDIA ORIN配置Pytorch和Torchvision
在NVIDIA AGX ORIN平台配置Pytorch-v2.1.0和torchvision-v0.15.2,已成功。
2023-08-17 14:34:15
2108
8
原创 求数组中逆序对——分治算法
求数组中逆序对——分治算法问题描述见算法导论第三版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=ijAk最大。思路对于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
空空如也
关于vivado SDK控制台打印的询问
2021-10-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人