自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Leetcode热题100--新手出发6--15. 三数之和(双指针)

确定首尾指针,不断去遍历首和中间元素值,并且筛选掉不符合条件的元素以及重复元素集合。

2024-10-29 17:25:15 246

原创 Leetcode热题100--新手出发5--11. 盛最多水的容器(双指针)

思路:双指针代表的是可以作为容器边界的所有位置的范围。在一开始,双指针指向数组的左右边界,表示数组中所有的位置都可以作为容器的边界,因为我们还没有进行过任何尝试。在这之后,我们每次将 对应的数字较小的那个指针 往 另一个指针 的方向移动一个位置,就表示我们认为 这个指针不可能再作为容器的边界了。那么,它们组成的容器的容量为:min(left ,right )∗t=left ∗t。* 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。* 输入:[1,8,6,2,5,4,8,3,7]

2024-10-20 14:46:35 404

原创 Leetcode热题100--新手出发4--283.移动零(双指针)

思路:采用双指针的方式,j的位置始终标记的是非零的数字,而循环i的值,则是对每个数字和j进行比对,最后进行替换。给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。PS:此方法参考的是评论区的大佬所提供的代码,对于该思路的思考方式有待补充。请注意 ,必须在不复制数组的情况下原地对数组进行操作。* 输入: nums = [0,1,0,3,12]* 输出: [1,3,12,0,0]* 输入: nums = [0]

2024-10-20 11:24:23 205

原创 Leetcode热题100--新手出发3--128.最长连续序列

若是起始部分,则按照该值顺序一直遍历是否存在当前值+1,若存在则一直累加,若不存在,则结束累加,并和之前存入的长度值进行对比,取得最大值。思路:枚举数组中的每个数 x,考虑以其为起点,不断尝试匹配 x+1,x+2,⋯ 是否存在,假设最长匹配到了 x+y,那么以 x 为起点的最长连续序列即为 x,x+1,x+2,⋯,x+y,其长度为 y+1,我们不断枚举并更新答案即可。* 输入:nums = [0,3,7,2,5,8,4,6,0,1]2) 当记录的当前值+1和遍历的值相同,则更新当前值和结果个数。

2024-10-16 14:22:57 288

原创 Leetcode热题100--新手出发2(哈希表)

2、将得到的排序后的结果保存为键:若存在该键,则将该键的列表中添加该参数;3、将得到的排序后的结果保存为键:若存在该键,则将该键的列表中添加该参数;输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]PS:整体的思路大概如此,按照自己的思路进行整理的,若有问题和可以优化的细节,望各位大佬指点。将排序后的结果作为字典的键,字典的值为存储相同结果的列表。

2024-10-15 11:17:25 321

原创 【Unity ShaderGraph】人物模型贴图效果,轮廓光/边缘光效果(小白学习版记录)

4、颜色相加,在最后返回像素颜色的时候,用的时环境光颜色和漫反射颜色、高光反射颜色相加。菲涅尔效果参数(Power),根据视频教程内应该在0-1的区间浮动,但是设置后没有任何的效果,在设置为-1.4左右时,在场景中看到对应效果,具体原因没有研究明确,望各位大佬看到后指点一二~1、颜色的rgb的每个值都是[0,1]的,颜色值相乘必然会使颜色值减小(物体更暗),相加必然会使颜色值增加更加接近1(物体更亮)。2、在计算光照反射时,经过物体材质的反射,光的颜色必然是经过削弱的,所以在计算光照反射时用颜色值相乘。

2024-10-14 16:28:02 565

原创 Leetcode热题100

此处想到的优化策略是,二层循环时(即 int j)可以从当前 i 后一位进行判断,因为第一遍循环时,已经判断过 i 和 j 的和了,反过来不再进行判断,也就提升了代码执行效率。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。若存在,可以直接返回target - nums[i] (即目标值减去当前遍历值)的索引 和当前值的索引。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。

2024-10-12 13:58:32 133

原创 Unity CharacterController控制人物移动(包括重力实现)

在使用CharacterController组件时,人物移动一般有两种方式,一种是无重力移动–>SimpleMove,一种是有重力移动–>Move。而使用有重力移动时,又会出现人在下楼梯时无法贴合地面,从而造成飞天效果,最终导致方向键控制混乱的现象。...

2022-06-17 17:43:18 8468 1

原创 计算值的阶乘

#计算 num 的阶乘def factorial(num): i, multiply = 1, 1 while i < num+1: multiply *= i i += 1 yield multiplyif __name__ == '__main__': # 生成器 user_input = input('请输入...

2019-12-09 15:00:30 146

原创 计算两个数的最大公约数

#计算两个数的最大公约数def Common_divisor(num1, num2):min = num1 if num1 < num2 else num2i, final_num = 1, 1while i <= min:if num1 % i == 0 and num2 % i == 0:final_num = ii += 1return final_numnum...

2019-12-09 14:59:27 214

原创 python实现斐波那契数列

1.递归方式写法最简洁,但是效率最低,会出现大量的重复计算,时间复杂度O(1.618^n),而且最深度1000def Fib_sequence(num): if num == 1 or num == 2: return 1 else: return Fib_sequence(num-2)+Fib_sequence(num-1)user_in...

2019-12-09 14:56:32 440

原创 Chapeter10编程题目练习(04737课后题)

第一章:1、分别用字符和ASCII码形式输出参数值为65和66void printASCII(){ cout << "01" << endl; char a = 'A', b = 'B'; int ascii_1 = 65, ascii_2 = 66;//ASCII码中的5和6 cout << "字符输出:" << a <&lt...

2019-09-12 11:26:30 508

原创 Chapeter09函数提高

1、函数默认参数如果我们自己传入数据,就用自己的数据,如果没有,那么用默认值语法:返回值类型 函数名(形参 = 默认值)注意:1)如果某个位置已经有了默认参数,那么从这个位置往后,从左到右都必须有默认值int func(int a, int b = 20,int c = 30){ return a + b + c;}2)如果函数声明有默认参数,函数实现就不能有默认参数PS:函...

2019-09-11 15:53:18 126

原创 C++入门基础Chapeter08引用

1、基本使用作用:给变量起别名语法:数据类型 &别名 = 原名int a = 10;int& b = a;b = 20;//a的值为20cout << "a = " << a << endl;2、引用的注意事项注意:引用必须声明时直接初始化,引用一旦初始化后就不能更改值了int a = 10;int& b = a;...

2019-09-05 10:48:15 151

原创 C++入门基础Chapeter07结构体练习题

1、设计一个英雄的结构体,包括姓名,年龄,性别;创建结构体数组,数组中存放5名英雄;通过冒泡排序的算法,将数组中的英雄按照年龄进行升序排列,最终打印排序后的结果。#include <iostream>using namespace std;//设计一个英雄的结构体struct Hero{ string name; int age; string sex;};/...

2019-09-04 17:41:29 317

原创 C++入门基础Chapeter06结构体

一、结构体学习结合示例分析学习:1、创建学生数据类型:学生包括(姓名,年龄,分数)自定义数据类型:一些类型集合组成的一个类型语法: struct 类型名称 { 成员列表 }struct Student{ //成员列表 //姓名 string name; //年龄 int age; //分数 int score;}s3;//顺便创建结构体变量2、通过学生类型创建...

2019-08-29 17:15:52 423

原创 C++入门基础Chapeter05指针

1、定义指针int a = 10;//指针定义的语法:数据类型 * 指针变量名;int* p;//让指针记录变量a的地址p = &a;//输出的为16进制的地址cout << "a的地址为:" << &a << endl;cout << "指针p为:" << p << endl;//输出结...

2019-08-29 16:38:52 187

原创 C++入门基础Chapeter04(分文件编写)

一、分文件编写作用:让代码结构更加清晰步骤:1)创建后缀名为.h的头文件2)创建后缀名为.cpp的源文件3)在头文件中写函数的声明4)在源文件中写函数的定义示例:1、建立一个c++文件,取名为Chapeter04.cpp#include <iostream>using namespace std;#include "swap.h"int main(){ ...

2019-08-29 16:14:08 329

原创 C++入门基础Chapeter03(函数、数组)

一、数组PS:VS2019中是不支持数组长度是变量的(部分编译器可行)

2019-08-29 16:03:18 187

原创 C++入门基础学习小实例Chapeter02

一、以下整理了几个基础知识的小案例1、输入输出练习int main(){ double attack1 = 272; double attack2 = 250; double attack3 = 240; cout << left; cout << setfill('_'); cout << setw(8) &...

2019-08-20 17:40:56 287

原创 C++入门基础学习总结Chapeter01

此工程使用的是VS2019进行学习和使用的一、首先文件-新建-项目二、打开页面之后默认的建立之后输出“Hello World!”三、进入代码部分的学习1、输出:在C++程序中输出一般使用"cout",输入则是使用"cin",需要注意的是,输入输出流都需要引用命名空间std,std。示例1:int main(){ int num;//定义一个变量 cin >> nu...

2019-08-16 15:12:44 260

空空如也

空空如也

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

TA关注的人

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