
java
y649014081
这个作者很懒,什么都没留下…
展开
-
除自身以外数组的乘积
给定长度为n的整数数组nums,其中n> 1,返回输出数组output,其中output[i]等于nums中除nums[i]之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明:请不要使用除法,且在O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目...原创 2019-03-05 12:18:29 · 148 阅读 · 0 评论 -
寻找重复数
给定一个包含n+ 1 个整数的数组nums,其数字都在 1 到n之间(包括 1 和n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2思路:数大小在1~n之间,因此数组中每个数都是有效的,使用快慢指针,若有重复元素表明有环,找到环的入口点与找有环链表入口节点方法相同。class ...原创 2019-04-03 12:36:31 · 156 阅读 · 0 评论 -
天际线问题
城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。现在,假设您获得了城市风光照片(图A)上显示的所有建筑物的位置和高度,请编写一个程序以输出由这些建筑物形成的天际线(图B)。图见leetcode每个建筑物的几何信息用三元组[Li,Ri,Hi]表示,其中Li和Ri分别是第 i 座建筑物左右边缘的 x 坐标,Hi是其高度。可以保证0 ≤ Li, Ri ≤ ...原创 2019-03-28 20:16:17 · 603 阅读 · 1 评论 -
加油站 leetcode
在一条环路上有N个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输入数...原创 2019-04-10 11:44:15 · 234 阅读 · 0 评论 -
递增的三元子序列
给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。数学表达式如下:如果存在这样的i, j, k,且满足0 ≤i<j<k≤n-1,使得arr[i]<arr[j]<arr[k],返回 true ;否则返回 false 。说明:要求算法的时间复杂度为 O(n),空间复杂度为 O(1) 。示例 1:...原创 2019-03-24 13:14:23 · 291 阅读 · 0 评论 -
从叶结点开始的最小字符串
给定一颗根结点为root的二叉树,书中的每个结点都有一个从0到25的值,分别代表字母'a'到'z':值0代表'a',值1代表'b',依此类推。找出按字典序最小的字符串,该字符串从这棵树的一个叶结点开始,到根结点结束。(小贴士:字符串中任何较短的前缀在字典序上都是较小的:例如,在字典序上"ab"比"aba"要小。叶结点是指没有子结点的结点。)...原创 2019-04-04 15:25:49 · 306 阅读 · 0 评论 -
零钱兑换
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说...原创 2019-03-30 13:55:56 · 527 阅读 · 0 评论 -
分割回文串
给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。示例:输入:"aab"输出:[ ["aa","b"], ["a","a","b"]]思路:如果以每一个切点为分割点来进行左右子串的dfs,那么结果会不停的重复,因此dfs选择左端为基准,若左端点到切点之间的单词为回文串,即可分割的话,将这段子串添加,然后以这...原创 2019-03-19 12:13:11 · 152 阅读 · 0 评论 -
二叉树 非递归 前序 中序 后序 存档
二叉树 非递归 前中后序遍历 其中root为空头节点 root.left指向真实的二叉头节点其中前序与中序思路相同,打印节点输出位置不同,后序要防止重复进入右节点前序:节点入栈时立即输出,中序:先入栈,后出栈时输出,后序:记录上一个打印输出的节点,判断右孩子与上一个输出的节点是否相同,若相同则跳过进入右孩子,输出当前节点。前序遍历public class DL...原创 2019-03-13 14:09:56 · 116 阅读 · 0 评论 -
单词搜索 II
给定一个二维网格board和一个字典中的单词列表words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例:输入: words = ["oath","pea","eat","rain"] and board =[ [...原创 2019-03-16 13:37:14 · 602 阅读 · 0 评论 -
单词拆分2
给定一个非空字符串s和一个包含非空单词列表的字典wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict = ["cat", "cats", "and", "sand", "dog"原创 2019-03-11 13:11:17 · 392 阅读 · 0 评论 -
至少有K个重复字符的最长子串
找到给定字符串(由小写字符组成)中的最长子串T,要求T中的每一字符出现次数都不少于k。输出T的长度。示例 1:输入:s = "aaabb", k = 3输出:3最长子串为 "aaa" ,其中 'a' 重复了 3 次。思路:首先记录一段字符串每个元素的出现次数,找到其中<k的字符,跳过,即比较各个<k的字符之间的、空隙中的重复元素出现的长度的最大...原创 2019-03-19 17:00:54 · 768 阅读 · 0 评论 -
单词拆分
给定一个非空字符串s和一个包含非空单词列表的字典wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。思路 :使用一个数组dn[i],表示i之前的字符串能够被拆分成每个都在字典中的单词,那么对于i<j的dn[i]和dn[j]只需要判断i到j的单词是否能够被查询到,有以...原创 2019-03-10 16:30:39 · 831 阅读 · 0 评论 -
具有拦截器的简单Controller
工具:IntelliJ IDEA 2018.2.5 (Ultimate Edition)JRE: 1.8.0_152-release-1248-b19 amd64JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.oWindows 10 10.0拦截器Interceptor概念。拦截器是动态拦截Action调用的对象,它提供了一种机...原创 2019-03-06 13:44:51 · 797 阅读 · 0 评论 -
基于配置文件的简单Controller
工具:IntelliJ IDEA 2018.2.5 (Ultimate Edition)JRE: 1.8.0_152-release-1248-b19 amd64JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.oWindows 10 10.0新建两个工程UseSC与SimpleController,所有的配置文件写在UseSC的资...原创 2019-03-06 13:19:10 · 676 阅读 · 0 评论 -
求子集&全排列
求子集给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]思路 :1、确定一个tags标记数组,用于确定某个元素是否被选择...原创 2019-03-05 16:44:35 · 809 阅读 · 0 评论 -
将字符串翻转到单调递增
如果一个由'0'和'1'组成的字符串,是以一些'0'(可能没有'0')后面跟着一些'1'(也可能没有'1')的形式组成的,那么该字符串是单调递增的。我们给出一个由字符'0'和'1'组成的字符串S,我们可以将任何'0'翻转为'1'或者将'1'翻转为'0'。返回使S单调递增的最小翻转次数。示例 1:输入:"00110"输出:1解...原创 2019-04-09 13:42:56 · 395 阅读 · 0 评论