JavaScript 正则表达式迷你书 老姚 - v1.1. . 9 1.3.2. 贪婪匹配与惰性匹配. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4. 多选分支 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5. 案例分析 . . . . 26 3.1. 分组和分支结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.1. 分组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.2. 分支结构 . . . . 42 4.3.2 惰性量词. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.3 分支结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4. 本章小结 . . . .0 码力 | 89 页 | 3.42 MB | 11 月前3
JavaScript 正则表达式迷你书 老姚 - v1.0. . 9 1.3.2. 贪婪匹配与惰性匹配. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4. 多选分支 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5. 案例分析 . . . . 26 3.1. 分组和分支结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.1. 分组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.2. 分支结构 . . . . 42 4.3.2 惰性量词. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.3 分支结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4. 本章小结 . . . .0 码力 | 89 页 | 3.42 MB | 11 月前3
Rust 程序设计语言 简体中文版 1.85.0secret_number 调用 cmp 返回的 Ordering 成员来决定接下来做什么。 一个 match 表达式由 分支(arms) 构成。一个分支包含一个 模式(pattern)和表达式开头 的值与分支模式相匹配时应该执行的代码。Rust 获取提供给 match 的值并挨个检查每个分支 的模式。match 结构和模式是 Rust 中强大的功能,它体现了代码可能遇到的多种情形,并确 保对所有情况作出 Ordering::Greater。 Ordering::Greater 是 match 表达式得到的值。它检查第一个分支的模式,Ordering::Less 与 Ordering::Equal并不匹配,所以它忽略了这个分支的代码并来到下一个分支。下一个分支的 模式是 Ordering::Greater,正确 匹配!这个分支关联的代码被执行,在屏幕打印出 Too big!。match 表达式会在第一次成功匹配后终止,因此在这种情况下不会查看最后一个分 含结果数字的 Ok。这个 Ok 值与 match 第一个分支的模式相匹配,该分支对应的动作返回 Ok 值中的数字 num,最后如愿 变成新创建的 guess 变量。 如果 parse 不能将字符串转换为一个数字,它会返回一个包含更多错误信息的 Err。Err 值不 能匹配第一个 match 分支的 Ok(num) 模式,但是会匹配第二个分支的 Err(_) 模式:_ 是一个 通配符值,本例中用来匹配所有0 码力 | 562 页 | 3.23 MB | 1 月前3
Curve质量监控与运维 - 网易数帆查、单元测试、集成测 试、覆盖率80%卡点) 合入master 分支 代码提交流程 异常自动化 测试 混沌测试 (每周一次) CI测试(编译、静态检 查、单元测试、集成测 试、覆盖率80%卡点) 邮件通知 Curve所有代码均在github托管。新 代码需要通过CI测试和code review才 能合入master分支,确保新合入代码 的功能、正确性、规范性等都有基本 保障;而每日运行的dailybuild测试在 保障;而每日运行的dailybuild测试在 CI测试基础上增加了异常自动化测试 和混沌测试,确保master分支代码的 bug尽可能早地暴露出来。 通过这种流程,curve可以在一定 程度上保证master分支的稳定性。 master 10/33版本管理 Curve版本命名规则是x.y.z{-后缀} x为主版本号,每次发布大版本时递增; 大版本一般半年发布一次。 y为次版本号,每次发布小版本时递增; 表示发布候选版本,空白表示正式版。 Curve所有功能开发均在master分支进行,而版本发布则在相应的release分支进行: 从master拉出一个新分支release-x.y,打beta版标签后,提交QA团队测试 ; beta版的bug修复代码先合入master分支,再cherry-pick到release-x.y分支; beta版bug修复完成后,打rc版标签(可能有多个rc版),上线到测试环境;0 码力 | 33 页 | 2.64 MB | 6 月前3
Comprehensive Rust(简体中文) 202412of the block, if any. In the example above, the type is (). 模式中的变量(本例中为 key)将创建一个可在匹配分支内使用的绑定。 只有当条件为真时,保护语句才能使分支匹配成功。 58 关键点: • You might point out how some specific characters are being used when 有些想法比模式本身所允许的程度更加复杂,如果我们希望简要地表达这些想法,就必须把匹配守 卫视为独立的语法功能。 • 它们与匹配分支中的单独“if”表达式不同。选择匹配分支后,分支块内(在“=>”之后)会出现“if”表 达式。如果该分支块内的“if”条件失败,系统不会考虑原始“match”表达式的其他分支。 • 只要表达式在包含“|”的模式中,就会适用守卫定义的条件。 12.2 解构 与元组一样,结构体和枚举也可以通过匹配方式进行解构: {msg}"), } } 在这里,我们使用了分支来解构“Result”值。在第一个分支中, “half”被绑定到“Ok”变体中的值。在第二 个分支中, “msg”被绑定到错误消息。 结构体 • 更改“foo”中的字面量值以与其他模式相匹配。 • 向“Foo”添加一个新字段,并根据需要更改模式。 • 捕获和常量表达式之间的区别可能很难发现。尝试将第二个分支中的“2”更改为一个变量,可以看 到它几乎0 码力 | 359 页 | 1.33 MB | 10 月前3
Hello 算法 1.2.0 简体中文 C# 版res = Fib(n - 1) + Fib(n - 2); // 返回结果 f(n) return res; } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图 2‑6 所 示,这样不断递归调用下去,最终将产生一棵层数为 ? 的递归树(recursion tree)。 图 2‑6 斐波那契数列的递归树 从本质上看,递归体现了“将问题分解为更小子 com 212 循环完成后,? 指向最左边的 target ,? 指向首个小于 target 的元素,因此索引 ? 就是插入点。 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 第 10 章 时,跳过所有已被选择的节点,即剪枝。 如图 13‑6 所示,假设我们第一轮选择 1 ,第二轮选择 3 ,第三轮选择 2 ,则需要在第二轮剪掉元素 1 的分 支,在第三轮剪掉元素 1 和元素 3 的分支。 图 13‑6 全排列剪枝示例 观察图 13‑6 发现,该剪枝操作将搜索空间大小从 ?(??) 减小至 ?(?!) 。 第 13 章 回溯 www.hello‑algo.com 284 20 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.2.0 简体中文 Dart 版res = fib(n - 1) + fib(n - 2); // 返回结果 f(n) return res; } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图 2‑6 所 示,这样不断递归调用下去,最终将产生一棵层数为 ? 的递归树(recursion tree)。 图 2‑6 斐波那契数列的递归树 从本质上看,递归体现了“将问题分解为更小子 com 212 循环完成后,? 指向最左边的 target ,? 指向首个小于 target 的元素,因此索引 ? 就是插入点。 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 第 10 章 时,跳过所有已被选择的节点,即剪枝。 如图 13‑6 所示,假设我们第一轮选择 1 ,第二轮选择 3 ,第三轮选择 2 ,则需要在第二轮剪掉元素 1 的分 支,在第三轮剪掉元素 1 和元素 3 的分支。 图 13‑6 全排列剪枝示例 第 13 章 回溯 www.hello‑algo.com 283 观察图 13‑6 发现,该剪枝操作将搜索空间大小从 ?(??) 减小至 ?(?!) 。 20 码力 | 378 页 | 18.46 MB | 10 月前3
Hello 算法 1.2.0 简体中文 Kotlin 版res = fib(n - 1) + fib(n - 2) // 返回结果 f(n) return res } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图 2‑6 所 示,这样不断递归调用下去,最终将产生一棵层数为 ? 的递归树(recursion tree)。 图 2‑6 斐波那契数列的递归树 从本质上看,递归体现了“将问题分解为更小子 com 214 循环完成后,? 指向最左边的 target ,? 指向首个小于 target 的元素,因此索引 ? 就是插入点。 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 第 10 章 时,跳过所有已被选择的节点,即剪枝。 如图 13‑6 所示,假设我们第一轮选择 1 ,第二轮选择 3 ,第三轮选择 2 ,则需要在第二轮剪掉元素 1 的分 支,在第三轮剪掉元素 1 和元素 3 的分支。 图 13‑6 全排列剪枝示例 观察图 13‑6 发现,该剪枝操作将搜索空间大小从 ?(??) 减小至 ?(?!) 。 第 13 章 回溯 www.hello‑algo.com 286 20 码力 | 382 页 | 18.48 MB | 10 月前3
Hello 算法 1.2.0 简体中文 JavaScript 版res = fib(n - 1) + fib(n - 2); // 返回结果 f(n) return res; } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图 2‑6 所 示,这样不断递归调用下去,最终将产生一棵层数为 ? 的递归树(recursion tree)。 图 2‑6 斐波那契数列的递归树 从本质上看,递归体现了“将问题分解为更小子 com 212 循环完成后,? 指向最左边的 target ,? 指向首个小于 target 的元素,因此索引 ? 就是插入点。 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 第 10 章 时,跳过所有已被选择的节点,即剪枝。 如图 13‑6 所示,假设我们第一轮选择 1 ,第二轮选择 3 ,第三轮选择 2 ,则需要在第二轮剪掉元素 1 的分 支,在第三轮剪掉元素 1 和元素 3 的分支。 图 13‑6 全排列剪枝示例 观察图 13‑6 发现,该剪枝操作将搜索空间大小从 ?(??) 减小至 ?(?!) 。 第 13 章 回溯 www.hello‑algo.com 284 20 码力 | 379 页 | 18.47 MB | 10 月前3
Hello 算法 1.2.0 简体中文 Swift 版fib(n: n - 1) + fib(n: n - 2) // 返回结果 f(n) return res } 观察以上代码,我们在函数内递归调用了两个函数,这意味着从一个调用产生了两个调用分支。如图 2‑6 所 示,这样不断递归调用下去,最终将产生一棵层数为 ? 的递归树(recursion tree)。 图 2‑6 斐波那契数列的递归树 从本质上看,递归体现了“将问题分解为更小子 的元素靠近。 循环完成后,? 指向最左边的 target ,? 指向首个小于 target 的元素,因此索引 ? 就是插入点。 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 第 10 章 时,跳过所有已被选择的节点,即剪枝。 如图 13‑6 所示,假设我们第一轮选择 1 ,第二轮选择 3 ,第三轮选择 2 ,则需要在第二轮剪掉元素 1 的分 支,在第三轮剪掉元素 1 和元素 3 的分支。 图 13‑6 全排列剪枝示例 观察图 13‑6 发现,该剪枝操作将搜索空间大小从 ?(??) 减小至 ?(?!) 。 第 13 章 回溯 www.hello‑algo.com 284 20 码力 | 379 页 | 18.48 MB | 10 月前3
共 68 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7













