12k11 分钟

# LeetCode 463. 岛屿的周长 LeetCode 463. Island Perimeter 给定一个 row x col 的二维网格地图 grid ,其中: grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域 网格中的格子 水平 和 垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿) 岛屿中没有 “湖”(“湖” 是指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的
14k13 分钟

# 定义抽象数据类型 类的基本思想是数据抽象(data abstraction)和封装(encapsulation) 数据抽象是一种依赖于接口(interface)和实现(implementation)分离的编程(以及设计)技术 类的接口:包括用户所能执行的操作 类的实现:包括类的数据成员、负责接口实现的函数体以及定义类所需的各种私有函数 封装实现了类的接口和实现的分离。封装后的类隐藏了它的实现细节,也就是说,类的用户只能使用接口而无法访问实现部分 类要想实现数据抽象和封装,需要首先定义一个抽象数据类型(abstract data type) 在抽象数据类型中,由类的设计者负责考虑类的实
19k17 分钟

相关文章推荐: shoka 主题功能介绍补充点 shoka 主题进阶玩法 # 修改主页标签名 打开 themes\shoka\languages 路径下的 zh-CN.yml 文件,找到 favicon 板块,修改 show 和 hide favicon: show: Jiankychen hide: Jiankychen 本博客根目录 _config.yml 中的语言设置为 language: zh-CN ,所以这里是修改 zh-CN.yml 文件。若根目录 _config.yml 中的语言设置为 language: en ,则应修改 en.yml
5.7k5 分钟

Dijkstra 算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径 定义: 代价:F(n) = g(n) g (n) :从起点到节点 n 的代价(距离) open list :存放 当前可到达、且未确定最小代价路径的节点 closed list :存放 已经找到最小代价路径的节点 流程: 从起点开始逐步扩展,每一步为一个节点找到代价最小的路径,即: 从 open list 选择代价最小的节点,将其收录到 closed list 遍历新收录节点的所有可访问邻节点,更新代价 最优性证明(为什么被收录的节点已经找到代价最小的路径?):反证法 特性: 完备性:如
40k36 分钟

# 函数基础 典型的函数(function)定义包括以下部分: 返回类型(return type) 函数名字 由 0 个或多个形参(parameter)组成的列表,其中,形参以逗号隔开,形参的列表位于一对圆括号之内 函数体 例如:定义一个函数用于求数 n 的阶乘,其中,返回类型为 int 型,函数名字为 fact,形参为 int n,函数体为一对花括号 {} 内的语句 int fact(int n) { int ret = 1; while (n > 1) ret *= n--; return ret;}# 调用
19k17 分钟

# 语句与语句作用域 # 简单语句 表达式语句(expression statement):执行表达式并丢弃掉求值结果 空语句(null statement):空语句中只含有一个单独的分号 例如: // 重复读入数据直至到达文件末尾或某次输入的值等于 soughtwhile (cin >> s && s != sought) ; // 空语句 使用空语句时应该加上注释,从而令读这段代码的人知道该语句是有意省略的 别漏写分号,也别多写分号: ival = v1 + v2;; //
8.1k7 分钟

# 场景一:多组空格分隔的两个正整数 输入描述: 输入包括两个正整数 a, b (1 <= a, b <= 1000),输入数据包括多组 输出描述: 输出 a + b 的结果 数据范围: 数据组数 1 <= t <= 100 输入示例: 1 5 10 20 输出示例: 6 30 代码实现: #include <iostream>using namespace std;int main() { int a = 0, b = 0; while (cin >>
2.3k2 分钟

# 教程 如果需要在 response.tex 中引用 revision.tex 的某一段文本,可通过以下步骤实现: 在 revision.tex 中,将需要引用的文本放在 %<*tag> 和 %</tag> 之间,即: %<*tag>Here is the text to be cited.%</tag> 在 response.tex 中,添加 catchfilebetweentags 这个包,即: \usepackage{catchfilebetweentags} 在 respons
2.6k2 分钟

# LeetCode 215. 数组中的第 K 个最大元素 215. Kth Largest Element in an Array 给定整数数组 nums 和整数 k ,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n)O(n)O(n) 的算法解决此问题。 示例 1: 输入:nums = [3,2,1,5,6,4], k = 2 输出:5 示例 2: 输入:nums = [3,2,3,1,2,4,5,5,6], k = 4 输
19k17 分钟

# LeetCode 200. 岛屿数量 200. Number of Islands 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和 / 或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例 1: 输入:grid = [ ["1","1","1","1","0"], ["1","1&quo