Bob Blog

If you want knowledge,you must toil for it.

阅读UGUI源码

Graphic

[GraphicRegistry] GraphicRegistry管理所有Graphic,内部通过IndexedSet维护数据 public class GraphicRegistry { private readonly Dictionary<Canvas, IndexedSet<Graphic>> m_Graphics = ne...

Unity AssetBundle

文件格式解析

Unity 生产资源内部文件格式说明: Asset Bundle Internal Structure 文件类型 序列化文件(serializedFile) 序列化文件是AssetBundle的重要组成,本质上是对象和元数据的集合. 文件头(header) 文件以0x14字节开头. 文件头中数据都是以big-endian(大端模式:数据的低位保存在内存的高地址中,而数据...

数据结构与算法

链表

学习数据结构与算法资源 《算法导论》- Cormen,T.H. 算法可视化项目 算法可视化项目 算法可视化项目 topcoder leetcode coursera 以下题目均来自leetcode 翻转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1...

数据结构与算法

递归、回溯、分治

以下题目均来自leetcode、poj 回溯法又称为试探法,但当探索到某一步时,发现选择达不到目标,就回退一步重新选择。 子集 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [ [3],   [1],   [2],   [1,2,3],   [1,3],   ...

数据结构与算法

贪心

以下题目均来自leetcode、poj 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,...

数据结构与算法

栈、队列、堆

以下题目均来自leetcode、poj 实现栈-先进后出 使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top() – 获取栈顶元素 empty() – 返回栈是否为空 注意: 你只能使用队列的基本操作– 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。 ...

数据结构与算法

搜索

以下题目均来自leetcode、poj 岛屿数量 给定一个由 ’1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 输入: 11110 11010 11000 00000 输出: 1 示例 2: 输入: 11000 11000 00100 00011 ...

数据结构与算法

哈希表、字符串

以下题目均来自leetcode、poj 最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 ”Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入: “abccccdd” 输出: 7 解释: 我们可以构造的最长的回文串是”dccaccd”, 它的长度是 7...

数据结构与算法

动态规划

以下题目均来自leetcode、poj 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 ...

数据结构与算法

二叉树、图

以下题目均来自leetcode、poj 树的定义 树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。 树具有的特点有: (1)每个结点有零个或多个子结点 (2)没有父节点的结点称为根节点 (3)每一个非根结点有且只有一个父节点 (4)除了根结点外,每个子结点可以分为多个不相交的子树。 二叉树的定义 二叉树是每个结点最多有两个子树的树结构。它有...