草庐IT

代码随想录算法训练营第二十二天| 235 二叉搜索树的最近公共祖先 701二叉搜索树中的插入操作 450删除二叉搜索树中的节点

目录235二叉搜索树的最近公共祖先递归  迭代701二叉搜索树中的插入操作递归  迭代450删除二叉搜索树中的节点235二叉搜索树的最近公共祖先p与q有如下三种情况:分别位于最近公共祖先节点的左右子树中一同位于最近公共祖先节点的左或右子树中一个位于中间节点,另一个位于其子树中根据二叉搜索树的有序性,p与q的最近公共祖先一定在[p,q]内,我们最先找到的节点root,能使得q.val递归 classSolution{publicTreeNodelowestCommonAncestor(TreeNoderoot,TreeNodep,TreeNodeq){if(root.valp.val&&root

代码随想录图论 第二天 | 695. 岛屿的最大面积 1020. 飞地的数量

代码随想录图论第二天|695.岛屿的最大面积1020.飞地的数量一、695.岛屿的最大面积题目链接:https://leetcode.cn/problems/max-area-of-island/思路:典型的遍历模板题,我采用深度优先,每块岛屿递归遍历的时候计数,递归完比较大小记录最大值。classSolution{intmax=0,k=0;publicintmaxAreaOfIsland(int[][]grid){for(inti=0;igrid.length;i++){for(intj=0;jgrid[0].length;j++){if(grid[i][j]==1){dfs(grid,i,

Unity开发日记【第二天】——角色移动的实现

目录一、角色移动二、角色转向和跳跃一、角色移动昨天我尝试向游戏中添加了游戏角色,现在尝试让其移动起来首先在左上角编辑菜单中找到项目设置,在输入管理器选项卡中可以看见当前控制角色移动的按键(可以自定义或者修改),这里要记住水平移动的名称——Horizontal之后要使用对角色元素添加组件Newsricpt,然后双击代码开始编辑代码,新建的代码包括两个函数:Start():在游戏一开始的时候执行Update():游戏过程中逐帧更新的函数首先我们先创建一些变量,刚体和速度(这很好理解角色的移动就是刚体在力的作用下以某个速度移动)定义方式如下:publicRigidbody2Drb;//刚体publi

JavaScript 基础第二天笔记

JavaScript基础-第2天理解什么是流程控制,知道条件控制的种类并掌握其对应的语法规则,具备利用循环编写简易ATM取款机程序能力运算符语句综合案例运算符算术运算符数字是用来计算的,比如:乘法*、除法/、加法+、减法-等等,所以经常和算术运算符一起。算术运算符:也叫数学运算符,主要包括加、减、乘、除、取余(求模)等运算符作用+求和-求差*求积/求商%取模(取余数),开发中经常用于作为某个数字是否被整除注意:在计算失败时,显示的结果是NaN(notanumber)//算术运算符console.log(1+2*3/2)//4letnum=10console.log(num+10)//20con

代码随想录算法训练营第二天| 977.有序数组的平方 、209.长度最小的子数组、59.螺旋矩阵II

 977.有序数组的平方 题目链接:力扣(LeetCode)官网-全球极客挚爱的技术成长平台文章讲解:代码随想录视频讲解: 双指针法经典题目|LeetCode:977.有序数组的平方_哔哩哔哩_bilibili 第一种解法:暴力直接遍历整个数组,对每个数平方,然后调用库函数,sort(nums.begin(),nums.end())进行快速排序代码实现classSolution{public:vectorsortedSquares(vector&nums){for(inti=0;i第二种解法:双指针法自己思考和第27题移除元素一样,很自然的想到了快慢指针,一个指针寻找新数组中所需要的元素,一个

代码随想录算法训练营第二天 | 977 有序数组的平方、209 长度最小的子数组、59 螺旋矩阵II

训练营第二天,今天的题相对昨天会更有难度一些,今天也暴露了我基本功不足的问题,希望继续努力可以弥补一些。977有序数组的平方题解及想法方法一,暴力破解法直接遍历一遍,在原有数值上进行平方,如何进行排序classSolution{publicint[]sortedSquares(int[]nums){for(inti=0;i方法二通过双指针进行操作,一个指向开始,一个指向结尾,因为原数组是 非递减顺序 排序的,所以克根据两个指针指向的数组的平方进行比较,大的就存到新数组中,然后数值中数值大的指针向中间走一步,继续比较classSolution{publicint[]sortedSquares(i

七天学会C语言-第二天(数据结构)

1.If语句:If 语句是一种条件语句,用于根据条件的真假执行不同的代码块。它的基本形式如下:if(条件){//条件为真时执行的代码}else{//条件为假时执行的代码}写一个基础的If语句#includeintmain(){intx=10;if(x>5){printf("x大于5\n");}else{printf("x不大于5\n");}}运行结果:例1:输入一个整数,如果该数大于80,则输出“小翟帅”;如果该数不大于80,则输出“小翟贼帅”。#includeintmain(){inta;scanf("%d",&a);if(a>80){printf("小翟帅\n");}else{printf

代码随想录算法训练营第二天| 977. 有序数组的平方 209. 长度最小的子数组 59.螺旋矩阵II

LeetCode977 有序数组的平方题目链接 977有序数组的平方文章讲解链接 代码随想录视频讲解 https://www.bilibili.com/video/BV1QB4y1D7ep自己的思路:每个数平方之后,用冒泡排序重新排序。自己的暴力排序代码:classSolution{publicint[]sortedSquares(int[]nums){inttemp=0;//可以只用一个变量i,将平方后的数字重新赋值给自己就可以了for(inti=0;inums[i+1]){temp=nums[i];nums[i]=nums[i+1];nums[i+1]=temp;}}}returnnums

第二天 kali代理配置

文章目录环境一、虚拟机网络模式(1)NAT(2)NAT模式(3)桥接模式(4)仅主机模式(5)总结二、配置代理(桥接模式)1、基础设置2、虚拟机浏览器代理3、命令行代理三、参考文章环境  vmware+kali+代理一、虚拟机网络模式(1)NAT  NAT:又称网络地址转换。具体原理是:路由器对数据包进行地址转换,路由器在接收到内部数据包时将内部源IP地址转化为公有IP地址后在进行路由转发。原理图如下:😃😃就是说,只用用公网IP才能对互联网上的资源进行访问,而每个路由器只有一个公网IP,所以连接路由器的主机共享路由器IP,路由器会为每一个主机分配一个私有IP。(2)NAT模式  先看网络拓扑j

第一百二十二天学习记录:C++提高:STL-vector容器(上)(黑马教学视频)

vector基本概念功能:vector数据结构和数组非常相似,也称为单端数组vector与普通数组区别:不同之处在于数组是静态空间,而vector可以动态扩展动态扩展:并不是在原空间之后续接新的空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间vector容器的迭代器是支持随机访问的迭代器vector构造函数功能描述:创建vector容器函数原型:vectorv; //采用模板实现类实现,默认构造函数vector(v.begin(),v,end()); //将v[begin(),end())区间中的元素拷贝给本身vector(n,elem);//构造函数将n个elem拷