自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 50. Pow(x, n)

快速幂。时间空间都为O(logN)注意n值若是Integer.MIN_VALUE的话,取负数的话就会溢出(如java中的byte类型占8位,取值为-128~127,因为100000000表示-128)。常用一个long变量来保存。class Solution { public double myPow(double x, int n) { long N = n; return N>=0?pow(x,N):1.0/pow(x,-N); } p

2020-06-11 19:49:40 157

原创 53. 最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。/*class Solution { public int maxSubArray(int[] nums) { int dp[] = new int[nums.l

2020-06-07 17:18:27 172

原创 300. 最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n2) 。进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗?用动态规划O(n^2)状态转移方程好难想啊a。。。dp[n-1]—>dp[n]假设我们已经知道了 dp[0…4] 的所有结

2020-06-07 17:17:09 122

原创 顺时针打印矩阵

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制:0 <= matrix.length <= 1000 <= matrix[i].length <= 100

2020-06-05 16:00:39 123

原创 1143. 最长公共子序列

经典的动态规划题,LCS(Longest Common Subsequence)。三步思路明确dp[][]以及其下标i,j的含义,下标i,j分别代表在两个字符串s1和s2的子串的长度,dp[][]表示长为i,j的两个子串的LCS。定义初始化状态。从两串长度为0开始,LCS也为0,但凡i== 0|| j ==0,LCS都是0.定义动态规划方程class Solution { public int longestCommonSubsequence(String text1, String

2020-05-20 17:54:03 114

原创 字符串转整数

注意点边界问题,老忽略情况class Solution { public int myAtoi(String str) { int result=0 flag=1; boolean flagg=false; for(int i=0;i<str.length();i++){ char c=str.charAt(i); if(c==' '&&!flagg) continue;

2020-05-15 16:15:34 96

原创 6.Z字形变换

class Solution { public String convert(String s, int numRows) { if(numRows < 2) return s; String result=""; int dir=-1,row=0; List<StringBuilder> rows = new ArrayList<StringBuilder>(); //int count=(2*numRo

2020-05-10 13:50:40 99

原创 最长回文子串(中心扩散,dp)

题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。思路以前只做过回文数,判断回文数一般是从中间分开,对比前后两半是否一致。开始想的滑动窗口,判断是不是回文,后来发现O(n)肯定是解决不了,暴力的话是O(n3)。一开始动态规划我也没想出一个规划模型,什么...

2020-04-24 10:55:38 224

原创 关于java字符串常量池

写了以下代码验证了一些String理论:public class TestStringPool { public static void main(String[] args) { String s1 = "aaaa"; String s2 = "aaaa"; s1 += "bbb"; System.out.println(s1 + "%%" + s2); // inter...

2020-04-21 21:22:13 113

原创 无重复字符的最长子串(滑动窗口)

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例输入: “abcabcbb”输出: 3自己解法不知道滑动窗口,但是想了想用了这种方法,我把得到的不重复的子串存在了String中。这样一来查重的时候就要遍历了。很费时间。而且每次a字符串都要清空,会浪费内存(会不会浪费呢?好像a=“”的时候,被代替的字符串也不会留在堆中了),但循环“+”拼接字符串肯定浪费内存,会产生额外...

2020-04-21 21:02:30 113

原创 个位数统计

输入格式:每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。输出格式:对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。输入样例:100311输出样例:0:21:33:1#include<iostream>#include<string.h>using...

2020-02-17 17:25:18 152

原创 等差数列

【输入格式】输入的第一行包含一个整数 N。第二行包含 N 个整数 A 1 ,A 2 ,··· ,A N 。(注意 A 1 ∼ A N 并不一定是按等差数列中的顺序给出)【输出格式】输出一个整数表示答案。【样例输入】52 6 4 10 20【样例输出】10#include<iostream>using namespace std;int min0=INT_MAX...

2020-02-16 10:53:31 302

原创 蓝桥杯-数的分解

题目把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和1001+1000+18 被视为同一种。填空题仔细看看,上年看错题了把0的情况算进去了,然后分没了。所以考试时候把条件列一下也好。正整数 三个数不同 不含2,4#inclu...

2020-02-11 12:12:54 512

原创 ALSDS1_11_C:BFS

复习一下BFS,顺便用一下STL的queue给一个图,输出所有节点到节点1的距离如:Sample Input 141 2 2 42 1 43 04 1 3Sample Output 11 02 13 24 1代码如下:#include<iostream>#include<queue>using namespace std;#define ...

2020-02-09 20:10:23 205 1

原创 ALDS1_11_B:DFS

AOJ上的DFS基础题题目就不上了返回两个数组,一个存发现节点的时间,一个存结束查找该节点的时间#include<iostream>using namespace std;#define N 100int graph[N][N];int d[N]; int f[N]; int n;int time;void DFS(int v){ time++; ...

2020-02-07 13:59:58 213

原创 ALDS1_11_A:Graph

InputIn the first line, an integer n is given. In the next n lines, an adjacency list Adj[u] for vertex u are given in the following format:u k v1 v2 … vku is vertex ID and k denotes its degree. vi...

2020-02-07 11:15:58 124

原创 1318. 或运算的最小翻转次数

给你三个正整数 a、b 和 c。你可以对 a 和 b 的二进制表示进行位翻转操作,返回能够使按位或运算 a OR b == c 成立的最小翻转次数。「位翻转操作」是指将一个数的二进制表示任何单个位上的 1 变成 0 或者 0 变成 1 。例如输入:a = 2, b = 6, c = 5输出:3解释:翻转后 a = 1 , b = 4 , c = 5 使得 a OR b == c...

2020-01-14 11:21:56 225

原创 链表相加

俩长度不等那种情况直接把多以的那一列移到返回链表中也麻烦们还得考虑99999的进位,又得写个循环,还不如把null当成0处理,虽然复杂度都一样,但后者代码比较简洁。public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode dummyHead = new ListNode(0); ListNode p = ...

2020-01-13 18:39:12 168

原创 高度解耦合

有三个类CallBack存放委托,可以在别的方法中传递不同参数类型和个数的方法public delegate void CallBack();public delegate void CallBack<T>(T arg);public delegate void CallBack<T, X>(T arg1, X arg2);public delegate voi...

2019-12-23 19:57:22 417

原创 对象池

最近在写游戏的时候用到了对象池。对象池,算是设计模式吧。对象池中包含若干提前准备好的若干实例,当需要时从对象池中提取,当不需要时,则重新放入对象池。一方面,使用对象池不需要频繁的产生和销毁实例对象,另一方面,对象池中的实例如果不够程序调用才会继续产生实例,这大大节省了性能。比如在这个游戏中用到了很多的平台,用对象池的话就会很明显的优化性能。代码如下:public class Obje...

2019-12-23 19:55:01 108

原创 is和as

关于类型的判断和转换有is和as这2个操作符。具体区别和用法如下is就是处于对类型的判断。返回true和false。如果一个对象是某个类型或是其父类型的话就返回为true,否则的话就会返回为false。另外is操作符永远不会抛出异常。代码如下:System.Boolean b1 = (o is System.Object);//b1 为trueSystem.Boolean b2 = (o i...

2019-12-21 12:33:23 332

原创 Resources.Load动态加载资源

Resources.Load和AssetBundleResources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源而一般AssetBundle文件需要你自己创建,运行时动态加载,可以指定路径和来源的。其实场景里所有静态的对象也有这么一个加载过程,只是Unity后台替你自动完成。Resources.Load使用这种方式加载资源,首先需要下Asset目录下创建一个名为Re...

2019-12-21 12:32:44 1068

原创 正则表达式

用法在regex包中,包括了两个类,Pattern(模式类)和Matcher(匹配器类)。Pattern类是用来表达和陈述所要搜索模式的对象,Matcher类是真正影响搜索的对象。另加一个新的例外类,PatternSyntaxException,当遇到不合法的搜索模式时,会抛出例外。创建一个pattern对象来匹配上面的子字符串。一旦程序运行后,如果需要的话,可以让这个对象一般化。匹配上面格式...

2019-12-07 16:06:41 130

原创 反编译工具 ILSpy

ILSpyilspy反编译工具是一款强大的.net平台反编译软件,使用ilspy反编译工具,可以轻松的反编译C#及VB程序,软件本身是C#程序,是一款开源软件。在绝大多数情况下,它都能很好的完成你对未知程序集内部代码的探索。打开一个已经生成好的游戏文件包在 My Desk_Data\Managed中就有游戏中用到的dll文件,Assembly-CSharp.dll中对应的是游戏的逻辑实现...

2019-12-06 18:04:45 703

原创 7-1最大连续子列和

题目数据1:与样例等价,测试基本正确性;数据2:100个随机整数;数据3:1000个随机整数;数据4:10000个随机整数;数据5:100000个随机整数;输入格式:输入第1行给出正整数K (≤100000);第2行给出K个整数,其间以空格分隔。输出格式:在一行中输出最大连续子列和。如果序列中所有整数皆为负数,则输出0。输入样例:6-2 11 -4 13 -5 -2输出样...

2019-12-01 15:32:20 163

原创 【unity学习笔记】3d数学的练习

【unity学习笔记】3d数学的练习有一个爆炸点,求出player碰撞体的切点。思路先求出碰撞体中心到改点的长为胶囊体半径的向量再用反余弦函数求出夹角a沿y轴偏转向量a角度四元数*向量 得到的是经过旋转后的向量using System.Collections;using System.Collections.Generic;using UnityEngine;public...

2019-11-30 20:58:56 224

原创 单链表的逆转

链表结构typedef int ElementType;typedef struct Node *PtrToNode;struct Node { ElementType Data; PtrToNode Next;};链表逆转List Reverse( List L ){ List p; p = L; L = NULL; //L作为新的逆转链表的空间 Lis...

2019-11-24 11:12:10 109

原创 【unity 学习笔记】在未知层级中查找想要的物体

在unity的api中有几种重要的类,Component类,Transform类等等。。Component类该类提供了(在当前物体,后代,先辈)中查找组件的功能。如上图,Component 是所有很多组件的父类GetComponent<>()就是获取单个组件GetComponents<>()就是获取所有的组件GetComponentsInChildtren&l...

2019-11-22 12:44:55 558

原创 【Unity学习笔记】 关于插件InstantOC的理解

【Unity学习笔记】 关于插件InstantOC的理解渲染管线渲染管线就是图形数据在GPU上经过运算处理,最后输出到屏幕上的一个过程。这里就需要提到draw call,大概是CPU每次准备数据并通知命令GPU的操作。关系到每帧调用显卡渲染物体的次数。draw call相应的数值在Game面板中的stats的Batches中,Batches的多少关系到该场景对GPU的占用有多少。渲染管线中...

2019-11-13 22:13:59 763 2

空空如也

空空如也

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

TA关注的人

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