Jaster_wisdom的专栏

待到山花烂漫时,她在丛中笑

LeetCode216. 组合总和 III

找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。 说明: 所有数字都是正整数。 解集不能包含重复的组合。  示例 1: 输入: k = 3, n = 7 输出: [[1,2,4]] 示例 2: 输入: k = 3...

2018-08-21 11:28:20

阅读数 335

评论数 0

LeetCode207. 课程表

现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习? 示例 1: 输入: 2, [[1,0]]...

2018-08-14 19:37:44

阅读数 195

评论数 0

LeetCode200. 求岛屿的个数

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

2018-08-14 13:16:14

阅读数 520

评论数 0

LeetCode131. 分割回文串

给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], [&...

2018-08-02 19:04:52

阅读数 558

评论数 0

LeetCode130. 被围绕的区域

给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X ...

2018-07-29 09:39:50

阅读数 143

评论数 0

LeetCode113. 路径总和 II

给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 ...

2018-07-24 21:23:37

阅读数 113

评论数 0

LeetCode90. 子集II

题目: 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: [1,2,2] 输出: [ [2], [1], [1,2,2], [2,2], [1,2], [] ] 题目分析:首先将n...

2018-07-19 18:16:39

阅读数 129

评论数 0

LeetCode74. 搜索二维矩阵

题目大意:要求在一个二维矩阵中搜索一个数,要求是时间尽可能少。说明:二维矩阵是从左到右,从上到下依次增大的。题目分析:本题如果用挨个遍历的话,显然没有利用上矩阵中的有序关系。我的做法是:将target的值与每行的最后一个数进行比较,若最后一个数小于target,那么还要往下搜索,将搜索的行边界的上...

2018-07-11 19:52:06

阅读数 278

评论数 0

LeetCode78. 子集

题目大意:求一个集合的子集题目分析:对于集合中的每一种情况,都有两种可能性,要么取,要么不取。我们可以利用DFS+回溯解决。代码展示:class Solution { public: void dfs(vector<int> nums,int p...

2018-07-03 19:28:50

阅读数 92

评论数 0

LeetCode79. 单词搜索

题目大意:判断一个单词是否存在于一个二维网络中。题目分析:使用DFS,主要就是从各点开始往四个方向进行搜索,一旦找到一种正确解,即返回true。注意已经访问过的点不能再次访问,那么可以将访问过的点替换成特殊字符'.',下次就不会与单词字母匹配。代码展示:class Solution { publi...

2018-07-02 19:52:57

阅读数 258

评论数 0

LeetCode37. 解数独

题目分析:本题属于深度遍历DFS的一个经典例子。按照从左往右,从上到下的顺序依次填充空格,用‘1’~‘9’之间的数进行试探,若发现填充的数不满足三条规则中的任意一条,就换一个数进行填充,若都不行,则回溯到上一层(即上一个要填充的空格,更换这个空格的数字)。一旦出现一种正确解,即返回。代码展示:cl...

2018-07-02 14:50:35

阅读数 172

评论数 0

LeetCode39. 组合总和

题目大意:给定一个数组和一个目标值,返回数组内可以使数字和为target的组合,注意数组内的数字可以重复选,但是组合的结果要求不能重复。题目分析:本题采用递归较容易解答。首先,将数组内的元素由小到大排序,然后不断地进行试探,直到和为target。若当前和小于target,则继续往里面加元素;若当前...

2018-06-13 19:31:59

阅读数 1560

评论数 2

A*算法

本篇博客主要介绍A*算法。在介绍A*算法之前,我先介绍一下Best-First Search Strategy 最佳优先搜索策略,它的基本思想是:1.结合深度优先和广度优先于一身2.根据一个评价函数,在目前产生的所有结点中选择具有最小评价函数值的结点进行扩展3.具有全局优化的概念,与之相反的爬山策...

2018-03-29 22:14:44

阅读数 199

评论数 0

蓝桥杯-九宫重排 (搜索)

问题描述:在九宫格中放置8个数,有一个为空格。给定初始状态九宫格,和目标状态九宫格,问需要多少步可以将初始状态变成目标状态。如果无法达到输出-1,如果可以达到,输出最少的步骤数。问题分析:本题属于搜索算法中的经典题目。可以用很多方法来解答,一般有A*算法和广度搜索BFS。因为广度搜索较容易理解,所...

2018-03-27 08:52:43

阅读数 480

评论数 1

从B树到B+树

最近在看操作系统和数据库系统,当涉及到查找文件和建立数据库索引时书中反复提到使用B+ 树可以实现高效的查找,于是我迫不及待地想研究一下B+ 树的内部结构。 首先从二叉查找树开始讲起。 二叉搜索树(BinarySearch Tree),别名又叫二叉查找树,二叉排序树。它是一棵空树或者...

2016-08-27 11:37:12

阅读数 677

评论数 0

九度OJ 1009 二叉搜索树

题目描述: 判断两序列是否为同一二叉搜索树序列 输入: 开始一个数n,(1 接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树。 接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二...

2016-06-22 22:49:36

阅读数 587

评论数 0

九度OJ 1012 畅通工程 (深度遍历求强连通分量个数)

题目描述:     某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? 输入:     测试输入包...

2016-06-19 11:16:00

阅读数 830

评论数 0

网络延时 201503-4

问题描述   给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为1的交换机为根交换机,层级为1。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加1。所有的终端电脑都直接连接到交换机上。   当...

2016-04-21 12:08:26

阅读数 341

评论数 0

第六届CCF计算机职业资格认证考试题解(第三题)

参加过两三次CCF考试,每次做到第三题,总是拿不到满分,总有情况遗漏掉,这道题我在考试时,得了90分,后来想了好久,没发现有什么情况遗漏掉了。 今天再次做了一下,终于A了 题目大意: 根据输入的条件用‘-’、‘+’、‘|’,和给定的英文字母画一张图,给定m,n表示列数和行数。接下来给...

2016-04-04 22:30:16

阅读数 966

评论数 0

图的广度遍历 (算法导论 345页)

最近,做了几道关于图的题目,略感生疏。准备看看算法导论复习一下。说到基本的图算法,那就必然会提高图算法的核心-搜索,经典的 广度搜索BFS 和 深度搜索DFS 形象点说,前者就是 水面上泛起的 涟漪,一层一层注重广度;而后者 就是 打洞,往深里去,打完一个洞,再打另一个洞。  算法导论,第22章基...

2016-03-28 20:38:04

阅读数 338

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭