826 1 分钟

# 引言 题目链接:https://leetcode.com/problems/two-sum/description/ # 题目大意 给出一个序列和一个目标值,判断序列中是否有两个数相加等于序列值 You may assume that each input would have exactly one solution, and you may not use the same element twice 因此认为给出序列必有解,并且不存在两个相同的元素 # 题解 # 一句话题解 利用 unordered_map 做好值和序号映射,在初始化 map 的时候用当前值和 target...
7.7k 11 分钟

# 引言 在 Lua 中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。 Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如 print() 函数可以将传入的参数打印在控制台上。 Lua 函数主要有两种用途: 完成指定的任务,这种情况下函数作为调用语句使用 计算并返回值,这种情况下函数作为赋值语句的表达式使用 本篇博客,主要讲解了 lua 中的基本函数,闭包,尾调用,迭代器等知识点 # Lua 函数基本特性 # 函数定义 Lua 编程语言函数定义格式如 optional_function_scope function...
4.5k 6 分钟

# 引言 lua 作为一种简单、可扩展、可移植及高效的脚本语言,广泛地被用于网络游戏以及手机游戏中。写游戏常常需要跟 lua 打交道,还是做些笔记记下来,当做备忘,方便以后没事翻一翻 # 官方文档 在开始吹逼之前先放一下官方文档,毕竟官方的东西还是挺权威的 [http://www.lua.org/manual/][http://www.lua.org/manual/] 点击对应版本就可以看相关的 api 文档或者介绍了 # 一、类型与值 lua 中有 8 种基础类型如下表所示 数据类型 描述 nil 这个最简单,只有值 nil 属于该类,表示一个无效值 (在条件表达式中相当于 false...
6.3k 9 分钟

# 引言 最近学习 Lua,在解释器中运行代码很是不习惯,加上自己偏好使用 Sublime ,于是将 Lua 在 Sublime 中进行相关配置,将过程整理备忘并推荐相关插件。 # Lua 环境配置 # Lua 安装 下面给出两种安装方式,可执行程序安装 和 源码编译安装,在很多人看来可能基于源码编译安装更加麻烦,事实也是如此。 但是基于源码版安装后续安装 luacheck 、 luasocket 等常用库时可以利用 lua 源码用 luarocks 基于库源码编译安装,毕竟有些库,编译后的版本可能已经很久没有维护了而且对于 lua...
4.9k 7 分钟

# 导读(反射简介) Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说 "自审",并能直接操作程序的内部属性。即可以在运行时加载、探知、使用编译期间完全未知的 classes 。换句话说, Java 程序可以加载一个运行时才得知名称的 class ,获悉其完整构造(但不包括 methods 定义),并生成其对象实体、或对其 fields 设值、或唤起其 methods 即有类似如下语句 ClassA objA =...
29k 39 分钟

# Latex 简介 Latex 是一种文件生成系统,它生成纯文本文件,后缀名为 .tex 。它不像 Word 等软件编写文件一样所见即所得,而是用一定的语法或者标记符号来组织内容。 Latex 在学术写作中被广泛使用,特别是像数学和计算机这样的学科。 Latex 可以让你忘记格式,而专注于内容。 在浏览器中使用 Latex ,就不得不提到 MathJax , 它是一款运行在浏览器中的开源的数学符号渲染引擎,使用 MathJax 可以方便的在浏览器中显示数学公式,不需要使用图片。目前, MathJax 可以解析 Latex 、 MathML 和 ASCIIMathML...
4.5k 6 分钟

# Bridge 模式简介 桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于 结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类,这两种类型的类可被结构化改变而互不影响。 # 运用场景分析 设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要 4...
3.9k 5 分钟

# Strategy 模式简介 策略模式 (Strategy Pattern), 可以使一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于 行为型模式 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 # 运用场景分析 举个栗子:在软件开发中常常遇到类似的情况,实现某一个功能有多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能。如查找、排序等。 一种常用的方法是硬编码 ( Hard Coding )...
4.4k 6 分钟

# Adapter 模式简介 适配器模式 ( Adapter Pattern ) 是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于 结构型模式,它结合了两个独立接口的功能。将一个类的接口转换成客户希望的另一个接口。使得原本由于接口不兼容而不能一起工作的类可以一起工作。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。 举个栗子 现在手机充电接口开始向 Type-C 转变,但是市面上大多数充电线还是传统的接口,如果你有没有针对性的 Type-C 充电线,怎么办呐,答案是显而易见的用转接头,转换接口,从而可以利用传统数据线为 Type-C...
4.1k 6 分钟

# Singleton 模式简介 单例模式 (Singleton Pattern) 是 设计模式中最简单的设计模式之一。 这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。 # 运用场景分析 同我们经常使用的 IDE 的工具菜单一样,所对应的对象需要是唯一的,无论我们点击菜单选项多少次,都只会被创建一次,在比如我们使用的通讯工具 QQ , 在一台电脑上一个账号只允许被登录一次 那么问题就来了...