- 博客(16)
- 收藏
- 关注
原创 二叉树的遍历(深度优先DFS/广度优先遍历BFS)
二叉树:一个节点只有一个入度和至多两个出度的图。遍历方式:树/图的遍历分为深度优先搜索(DFS和广度优先遍历(BFS)。一般来说深度优先搜索的特点决定了深度优先搜索依赖于栈的实现,而广度优先搜索的实现依赖于队列的实现。
2023-12-15 22:54:31
1192
原创 【简单】leetcode27.移除元素
你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。这个题目暴力的解法就是两层for循环,一个for循环遍历数组元素 ,第二个for循环更新数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。不要使用额外的数组空间,你必须仅使用。的元素,并返回移除后数组的新长度。函数应该返回新的长度。
2023-08-27 15:46:14
70
原创 【中等】leetcode34.在排序数组中查找元素的第一个和最后一个位置
假设目标值在数组中;先使用二分法找到目标值其中一个位置middle(如果存在重复元素的话),然后递增和递减middle,并依次比较与目标值是否相等,来寻找左右边界。二分法结束,middle位置的元素若等于目标值进行下一步寻找边界。请你找出给定目标值在数组中的开始位置和结束位置。数组是有序的,而且是查找目标值可以使用二分法。给你一个按照非递减顺序排列的整数数组。你必须设计并实现时间复杂度为。如果数组中不存在目标值。思路二:(代码随想录)
2023-08-27 14:27:58
68
原创 【简单】leetcode35.搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。首先是有序数组+查找元素,可以使用二分法。请必须使用时间复杂度为。
2023-08-27 14:09:18
103
原创 C++每日算法--数组(vector)与二分查找
数组是存放在连续内存空间上的相同类型数据的集合。可以方便的通过下标索引的方式获取到下标下对应的数据。
2023-08-27 13:49:18
259
原创 C/C++每日一问:左值和右值
时, i 是一个 lvalue,它实际代表一个内存里的地址,是持久的。但是,表达式 i++ 却是一个 rvalue,它只是拷贝一份i的初值,再修改i的值,最后返回那份临时的拷贝,那份拷贝是临时对象。有或无 CV 限定的不同版本的类型是不同的类型,但写法和赋值需求都是相同的。左值和右值的主要区别是,左值可以被修改,而右值不能。当一个对象被用作右值的时候,用的是对象的内容;当对象被用作左值的时候,用的是对象的身份(在内存中的位置)。表达式要么是左值要么是右值,可以出现在赋值语句左侧的称为左值,反之称为右值。
2023-05-25 17:07:27
154
1
原创 C/C++每日一问:C语言和C++区别
在C++中因为严格的参数类型检测,没有参数列表的函数,默认为void,不再接收任何参数。C++相比较C,增加了许多类型安全的功能,比如强制类型转换、智能指针。在C语言中,如果一个函数没有指定返回值类型,默认返回int类型;在C语言中,函数没有指定参数列表时,默认可以接收任意多个参数;在C++中,如果一个函数没有返回值则必须指定为void;C++中则有:局部作用域、类作用域、名称空间作用域。C++支持泛型编程,比如模板类、函数模板等。C语言中作用域有:局部、全局。在C语言中不支持缺省参数;
2023-05-15 20:56:42
108
1
原创 C/C++头文件的使用和问题汇总
/文件text.cpp中有如下代码//头文件B.h中又包含了A.h注意:如果头文件A中没有定义变量或者函数定义(或者重复出现两次会出错的代码),编译这个文件时可能不会出错。比如头文件A中只有函数声明,而函数声明可以重复出现,那么编译会变慢但不会出错。
2023-05-13 16:48:37
624
原创 Vim:buffer--vim编辑器缓冲区与多文件编辑
可以使用命令,查看关于缓冲区的帮助信息。.vimrc文件配置" 映射切换buffer的键位" 映射num到num buffer。
2023-05-07 23:00:36
1634
原创 Vim:朴素而优雅的Vim配置分享(PowerVim)
来自Carl大神的四年打磨,不断调整优化,已经可以完全满足工业级打开的需求了。所以给它起名为PowerVim,一个真正强大的vim。关于Carl:《代码随想录》作者。
2023-05-06 23:04:57
610
原创 jupyter notebook添加virtualenv创建的虚拟环境,以及添加后在终端能import的模块 而在jupyter notebook无法导入的问题。
python -m ipykernel install --user --name 环境名称 --display-name "在jupyter中显示的环境名称"例如:python -m ipykernel install --user --name py_work --display-name "py_work"
2022-01-08 13:03:43
1243
1
原创 ubuntu 20.04安装virtualenv和virtualenvwrapper安装及使用方法(含pip3的安装和使用)
一、安装1.1安装pip安装pip3sudo apt install python3-pip1.2安装virtualenv和virtualenvwrapperpip3 install virtualenvpip3 install virtualenvwrapper二、配置2.1创建虚拟环境的根目录mkdir $HOME/.virtualenvs$HOME无需更改2.2配置环境变量sudo gedit ~/.bashrc将下面的内容复制到最后。e
2022-01-08 11:35:34
2234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人