Leetcode141:环形链表

目录一、题目二、示例三、思路四、代码一、题目给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。进阶:你能用 O(1)(即,常量
分类: 其他 发布时间: 10-16 22:13 阅读次数: 0

Leetcode142:环形链表

目录一、题目二、示例三、思路四、代码一、题目给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。进阶:你能用 O(1)(即,常量)内存解决此问题吗?二、示例示例1:输入:head = [3,2,0,-4], pos = 1输出:tail c...
分类: 其他 发布时间: 10-16 22:13 阅读次数: 0

Leetcode530:二叉搜索树的最小绝对差

目录一、题目二、示例三、思路四、代码一、题目给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。二、示例示例:输入: 1 \ 3 / 2输出:1解释:最小绝对差为 1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。三、思路二叉搜索树的中序遍历是非递减的,因此,我们可以先中序遍历二叉搜索树,再计算出相邻两数的差值即可。四、代码# Definition f...
分类: 其他 发布时间: 10-16 22:13 阅读次数: 0

Leetcode1002: 查找常用字符

目录一、题目二、示例三、思路四、代码一、题目给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。二、示例示例 1:输入:["bella","label","roller"]输出:["e","l","l"]示例 2:输入:["cool","lock","cook"]输出:
分类: 其他 发布时间: 10-16 22:13 阅读次数: 0

Python——Logging 模块

目录一、logging模块的日志级别1、日志级别2、代码实现二、logging模块的使用方式1、logging提供的模块级别的函数1.1 记录日志级别1.2logging.basicConfig(**kwargs)2、logging日志系统的四大组件2.1 Logger2.2 Handler2.3 Filter2.4 Formatter三、示例解析1、最终代码2、常见的问题一、logging模块的日志级别1、日志级别日志等级(leve.
分类: 其他 发布时间: 10-16 22:12 阅读次数: 0

十五数码——原理及实现(C语言)

目录1、问题描述2、原理及方法2.1 启发式图搜索2.1.1 启发式图搜索2.1.2 启发式搜索算法A2.2 A*3、算法设计3.1 数据结构3.1.1 结构体3.1.2 数组3.1.3 链表3.2 函数3.2.1 寻找0点位置3.2.2 比较函数3.2.3 移动函数3.2.4 复制函数3.2.5 输出函数3.2.6 计算评价函数3.3 循环3.4 最小状态min4、实验结果1、问题描述设计一个启发函数,利用A*算.
分类: 其他 发布时间: 10-16 22:12 阅读次数: 0

Linux学习笔记之Linux基本命令

2019.10.231、ls 命令:查看当前目录文件。2、touch 命令:创建文件。举例:touch 1.txt(创建) touch *(更改时间戳)3、mkdir 命令:创建文件夹。 举例:mkdir npc(创建) mkdir 1/2/3/4 -p(创建多级目录) 4、rm 命令:删除文件或目录。 举例:rm 1.txt(删除文件)...
分类: 其他 发布时间: 10-16 22:12 阅读次数: 0

Linux学习命令之Shell编程入门

Shell脚本是批处理执行命令,其后缀为.sh。一般在执行其之前需要先执行如下chmod命令以给脚本filename 增加可读可写可执行的权限。chmod 777 filename.sh1、字符串输出(echo)#! /bin/bashecho "hello world"使用echo命令将字符串 hello world 输出到终端上。2、定义变量...
分类: 其他 发布时间: 10-16 22:12 阅读次数: 0

Linux学习之利用Makefile管理软件工具

下面先写几个c语言代码,然后用一个Makefile文件来对其进行管理。main.c程序内容:#include <stdio.h>#include "say_hello.h"#include "say_goodbye.h"int main(void){ say_hello(); say_goodbye(); return 0;}say_hello...
分类: 其他 发布时间: 10-16 22:11 阅读次数: 0

UE4 C++学习笔记之创建Object类

1、在UE4 C++工程中,以Object为父类,新建C++类MyObject,并且在VS中为该类添加public变量和函数MyObject.h头文件编辑如下:#pragma once#include "CoreMinimal.h"#include "UObject/NoExportTypes.h"#include "MyObject.generated.h"/** * *///UCLASS表示反射为系统自动生成,其中的Blueprintable表示可以由该c++类生成蓝图类
分类: 其他 发布时间: 10-16 22:11 阅读次数: 0

UE4 C++学习笔记之创建Actor类

任务:新建C++类Float,为其添加静态网格组件1、头文件新增UStaticMeshComponent指针变量,将其属性设置为可见,float.h关键代码如下:public: // Sets default values for this actor's properties AFloat(); //新增UStaticMeshComponent指针变量,将其属性设置为可见 UPROPERTY(VisibleAnywhere,Category="ActorMesh
分类: 其他 发布时间: 10-16 22:11 阅读次数: 0

UE4 C++学习笔记之UPROPERTY宏

UPROPERTY宏,可被添加在元数据类型或者属性前面,来控制其在引擎中的使用方式用法示例如下: //EditInstanceOnly表示该变量只可以在实例中进行编辑,BlueprintReadWrite表示变量可以在蓝图类中进行读写,Gategory表示变量的分类范畴命名 UPROPERTY(EditInstanceOnly,BlueprintReadWrite,Category="Float Variates") FVector InitLocation;常
分类: 其他 发布时间: 10-16 22:11 阅读次数: 0

UE4 C++学习笔记之初识三维向量结构体FVector

任务:获取场景Actor的起始位置,根据布尔值的设定,初始化Actor的位置,以及给Actor设定定向移动float.h关键部分源码如下:public: // Sets default values for this actor's properties AFloat(); UPROPERTY(VisibleAnywhere,Category="ActorMeshComponents") UStaticMeshComponent* StaticMesh; //Ini.
分类: 其他 发布时间: 10-16 22:10 阅读次数: 0

UE4 C++学习笔记之力和力矩

任务:在游戏开始时,给场景中的Actor施加X轴方向上的力以及绕Z轴方向的力矩Float.h关键代码如下: //增加两个public向量,InitForce代表施加的力,InitTorque代表施加的力矩 UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = "Float Variates") FVector InitForce; UPROPERTY(EditInstanceOnly, Bluep.
分类: 其他 发布时间: 10-16 22:10 阅读次数: 0

UE4 C++学习笔记之数学函数

任务:让场景中的Actor做上下浮动的周期性正弦运动Float.h添加变量如下:public: //振动幅度 UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = "Float Variates") float A; //振动角速度 UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = "Float Variates") float B;privat
分类: 其他 发布时间: 10-16 22:10 阅读次数: 0

UE4 C++学习笔记之初识Pawn类

Pawn是一种由真实玩家或AI控制的Actor。任务1:创建一个C++ Pawn类,并给其添加静态网格组件和摄像头组件Creature.h代码如下:#include "CoreMinimal.h"#include "GameFramework/Pawn.h"#include "Creature.generated.h"UCLASS()class LEARNTEST_API ACreature : public APawn{ GENERATED_BODY()public: /.
分类: 其他 发布时间: 10-16 22:10 阅读次数: 0

UE4 C++学习笔记之控制Pawn做前后左右移动

任务:控制场景中的Pawn做前后左右移动步骤一、在项目设置---输入中,建立相应的轴映射第二步、修改C++ Pawn类Creature的相关代码Creature.h部分关键代码如下:public: //最大移动速度 UPROPERTY(EditAnywhere) float MaxSpeed; //当前移动速度 UPROPERTY(VisibleInstanceOnly) FVector CurrentVelocity;private:
分类: 其他 发布时间: 10-16 22:09 阅读次数: 0

UE4 C++学习笔记之使用弹簧臂组件

任务:将摄像头绑定在弹簧臂上以获得更平滑的摄像机视角(另在Creature.cpp中设置球形根结点和默认静态网格体)Creature.h新增代码如下:public: //新增球形组件 UPROPERTY(EditAnyWhere) class USphereComponent* SphereComponent; //新增弹簧臂组件 UPROPERTY(EditAnywhere) class USpringArm
分类: 其他 发布时间: 10-16 22:09 阅读次数: 0

UE4 C++学习笔记之给Pawn增加自制移动组件(实现碰撞滑行)

任务:给Pawn添加自制移动组件,使其碰到障碍物时沿着碰撞的边缘滑行第一步:新建运动组件C++类MyMovementComponentMyMovementComponent.h代码如下:#pragma once#include "CoreMinimal.h"#include "GameFramework/PawnMovementComponent.h"#include "MyPawnMovementComponent.generated.h"/** * */UCLASS()
分类: 其他 发布时间: 10-16 22:09 阅读次数: 0

UE4 C++学习笔记之控制Pawn的视角

任务:使用鼠标控制Pawn的Yow转向,已经Pictch的视角旋转第一步、项目设置添加鼠标X,Y轴输入第二步、修改Pawn类相关C++代码Creature.h关键代码如下:private: //2D向量储存鼠标的输入 FVector2D CameraInput; //接收Yaw旋转 void CameraYaw(float Value); //接收Pictch旋转 void CameraPitch(float Val
分类: 其他 发布时间: 10-16 22:09 阅读次数: 0