自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

明觉

你若盛开,清风徐来;你若精彩,天自安排。

  • 博客(29)
  • 收藏
  • 关注

原创 LeetCode239. 滑动窗口最大值(滑动窗口)

给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。返回滑动窗口最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------------...

2019-04-14 19:46:57 1733

原创 LeetCode76. 最小覆盖子串(滑动窗口)

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。...

2019-04-14 14:36:47 535

原创 LeetCode32. 最长有效括号(动态规划、滑动窗口)

给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"有两种解答方式。第一种,滑动窗口。对字符串进行括号闭合验证,记录最值。然后再进行一次对称变换,进行验证,两次取最值,就是字符串的最长...

2019-04-14 14:29:26 1002

原创 LeetCode37. 解数独

编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3宫内只能出现一次。空白格用 ‘.’ 表示。一个数独。答案被标成红色。Note:给定的数独序列只包含数字 1-9 和字符 ‘.’ 。你可以假设给定的数独只有唯一解。给定数独永远是...

2019-03-31 13:50:25 255

原创 LeetCode75. 颜色分类

给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意:不能使用代码库中的排序函数来解决这道题。示例:输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶:一个直观的解决方案是使用计数排序的两趟扫描算法。 首先,迭...

2019-03-31 10:28:28 216

原创 LeetCode74. 搜索二维矩阵

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]target = 3输出: true二分查找,ac,100%...

2019-03-30 11:35:36 220

原创 LeetCode73. 矩阵置零

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。关于原地算法,名字倒是挺响,https://baike.baidu.com/item/原地算法示例 1:输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: [ [1,0,1], [0,0,0], [1,0,1]]进阶:一个直接的...

2019-03-29 15:19:56 274

原创 LeetCode72. 编辑距离

给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入: word1 = "horse", word2 = "ros"输出: 3解释: horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删...

2019-03-29 13:54:17 241

原创 LeetCode71. 简化路径

以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜...

2019-03-29 13:48:44 152

原创 LeetCode69. x 的平方根

实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2此题的思想是牛顿迭代法,当然二分也可以最神奇的还是平方根倒数速算法,参见 https://www.zhihu.com/question/22018894/answer/20039559/** * 6...

2019-03-28 14:56:52 188

原创 LeetCode68. 文本左右对齐

给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ’ ’ 填充,使得每行恰好有 maxWidth 个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。文本的...

2019-03-28 08:41:23 167

原创 LeetCode63. 不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。网格中的障碍物和空位置分别用 1 和 0 来...

2019-03-10 20:53:22 224

原创 LeetCode62. 不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共...

2019-03-06 21:44:56 119

原创 LeetCode61. 旋转链表

61. 旋转链表给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1-&

2019-03-06 21:10:23 118

原创 LeetCode60. 第k个排列

给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:"123""132""213""231""312""321"给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1,

2019-02-23 20:01:26 166

原创 LeetCode59. 螺旋矩阵 II

给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3输出:[ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ]]class Solution { public int[][] generateMatrix(int n) { int[][] result = new int[n][n];...

2019-02-23 19:53:09 139

原创 LeetCode58. 最后一个单词的长度

class Solution { public int lengthOfLastWord(String s) { if (s == null) return 0; int i = s.length() - 1; while (i > -1 && s.charAt(i) == ' ') --i; int length = 0; while (i...

2019-01-30 16:15:17 94

原创 LeetCode57. 插入区间

和上一题好像没什么区别,所以直接略微修改,是我想的太肤浅了?class Solution { public List<Interval> insert(List<Interval> intervals, Interval newInterval) { if (intervals == null) return new LinkedList<>()...

2019-01-30 16:01:44 480

原创 LeetCode56. 合并区间

/** * 排序合并 * * @author wuwang * */class Solution { public List<Interval> merge(List<Interval> intervals) { if (intervals == null || intervals.isEmpty()) return new LinkedList...

2019-01-30 15:47:41 151

原创 LeetCode55. 跳跃游戏

​​​​​​​class Solution {    public boolean canJump(int[] nums) {        if (nums == null || nums.length == 0)            return false;        int maxstep = 0;        for (int i = 0; i <= maxst...

2019-01-30 11:04:23 108

原创 LeetCode54.螺旋矩阵

使用递归,但效率很低class Solution { public List<Integer> spiralOrder(int[][] matrix) { if (matrix == null || matrix.length == 0 || matrix[0].length == 0) return new ArrayList<>(); ArrayL...

2019-01-29 16:39:57 116

原创 全排列

/** * 46.全排列<br/> * https://leetcode-cn.com/problems/permutations/<br> * @author wuwang * */public class p46 { List<List<Integer>> result = new LinkedList<>(); i...

2019-01-28 21:16:37 74

原创 旋转图像

public class p48 { public void swap(int[][] matrix, int x1, int x2, int y1, int y2) { int temp = matrix[x1][y1]; matrix[x1][y1] = matrix[x2][y2]; matrix[x2][y2] = temp; } public void swapLi...

2019-01-28 21:14:20 82

原创 字母异位词分组

/** * 49. 字母异位词分组<br> * https://leetcode-cn.com/problems/group-anagrams/<br> * 对数组中每个string排序去重然后分类<br> */public class p49 { public List<List<String>> groupAnagra...

2019-01-28 20:59:50 106

原创 Pow(x, n)

/** * 50. Pow(x, n)<br> * 快速幂<br> * https://leetcode-cn.com/problems/powx-n/<br> * * @author wuwang * */public class p50 { public double myPow(double x, int n) { if (n =...

2019-01-28 20:57:25 112

原创 N皇后

/** * N皇后<br> * https://leetcode-cn.com/problems/n-queens/ <br> * 8.53% 递归暴力解..<br> * 我的方法太水了<br> * * @author wuwang * */public class p51 { public int totalNQueens...

2019-01-28 20:51:36 89

原创 油田(Oil Deposits, UVa 572)

输入一个m行n列的字符矩阵,统计字符“@”组成多少个八连块。如果两个字符“@”所在的格子相邻(横、竖或者对角线方向),就说它们属于同一个八连块。例如,图6-9中有两个八连块。 #include <iostream> #include <cstring> using namespace std; const int boundary = 105;...

2018-03-19 21:20:58 275

原创 下落的树叶(The Falling Leaves, UVa 699)

#include <iostream>#include <cstdio>//6-10 下落的树叶(The Falling Leaves, UVa 699)/*给一棵二叉树,每个结点都有一个水平位置:左子结点在它左边1个单位,右子结点在右边1个单位。从左向右输出每个水平位置的所有结点的权值之和。如图6-7所示,从左到右的3个位置的权和分别为7,11,3。按照递...

2018-03-18 21:34:26 275

原创 6-11 四分树(Quadtrees, UVa 297)

如图6-8所示,可以用四分树来表示一个黑白图像,方法是用根结点表示整幅图像,然 后把行列各分成两等分,按照图中的方式编号,从左到右对应4个子结点。如果某子结点对 应的区域全黑或者全白,则直接用一个黑结点或者白结点表示;如果既有黑又有白,则用一 个灰结点表示,并且为这个区域递归建树。给出两棵四分树的先序遍历,求二者合并之后(黑色部分合并)黑色像素的个数。p表 示中间结点,f表示黑色(full),e表...

2018-03-18 21:27:52 386

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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