2.2k 4 分钟

# 条件语句 # if if condition: statement # if - else if condition: statement1 else: statement2 # if - eles if - else if condition1: statement1 elif condition2: statement2 else: statement3 # 循环语句 # while while condition: statement # for for 循环无法定义循环条件,只能从 序列 中取出数据处理 for i in sequence: statement #...
10k 17 分钟

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

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

Dijkstra 算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径 定义: 代价:F(n) = g(n) g (n) :从起点到节点 n 的代价(距离) open list :存放 当前可到达、且未确定最小代价路径的节点 closed list :存放 已经找到最小代价路径的节点 流程: 从起点开始逐步扩展,每一步为一个节点找到代价最小的路径,即: 从 open list 选择代价最小的节点,将其收录到 closed...
38k 1:03

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

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

# 场景一:多组空格分隔的两个正整数 输入描述: 输入包括两个正整数 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.4k 4 分钟

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

# 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 输出:4 提示: 1≤1 \le1≤ k ≤\le≤...