自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 加油站 leetcode

在一条环路上有N个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。 输入数组均为非空数组,且长度相同。 输入数...

2019-04-10 11:44:15 185

原创 将字符串翻转到单调递增

如果一个由'0'和'1'组成的字符串,是以一些'0'(可能没有'0')后面跟着一些'1'(也可能没有'1')的形式组成的,那么该字符串是单调递增的。我们给出一个由字符'0'和'1'组成的字符串S,我们可以将任何'0'翻转为'1'或者将'1'翻转为'0'。返回使S单调递增的最小翻转次数。示例 1:输入:"00110"输出:1解...

2019-04-09 13:42:56 328

原创 从叶结点开始的最小字符串

给定一颗根结点为root的二叉树,书中的每个结点都有一个从0到25的值,分别代表字母'a'到'z':值0代表'a',值1代表'b',依此类推。找出按字典序最小的字符串,该字符串从这棵树的一个叶结点开始,到根结点结束。(小贴士:字符串中任何较短的前缀在字典序上都是较小的:例如,在字典序上"ab"比"aba"要小。叶结点是指没有子结点的结点。)...

2019-04-04 15:25:49 251

原创 寻找重复数

给定一个包含n+ 1 个整数的数组nums,其数字都在 1 到n之间(包括 1 和n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2]输出: 2思路:数大小在1~n之间,因此数组中每个数都是有效的,使用快慢指针,若有重复元素表明有环,找到环的入口点与找有环链表入口节点方法相同。class ...

2019-04-03 12:36:31 125

原创 零钱兑换

给定不同面额的硬币 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 485

原创 天际线问题

城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。现在,假设您获得了城市风光照片(图A)上显示的所有建筑物的位置和高度,请编写一个程序以输出由这些建筑物形成的天际线(图B)。图见leetcode每个建筑物的几何信息用三元组[Li,Ri,Hi]表示,其中Li和Ri分别是第 i 座建筑物左右边缘的 x 坐标,Hi是其高度。可以保证0 ≤ Li, Ri ≤ ...

2019-03-28 20:16:17 541 1

原创 递增的三元子序列

给定一个未排序的数组,判断这个数组中是否存在长度为 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 252

原创 至少有K个重复字符的最长子串

找到给定字符串(由小写字符组成)中的最长子串T,要求T中的每一字符出现次数都不少于k。输出T的长度。示例 1:输入:s = "aaabb", k = 3输出:3最长子串为 "aaa" ,其中 'a' 重复了 3 次。思路:首先记录一段字符串每个元素的出现次数,找到其中<k的字符,跳过,即比较各个<k的字符之间的、空隙中的重复元素出现的长度的最大...

2019-03-19 17:00:54 731

原创 分割回文串

给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。示例:输入:"aab"输出:[ ["aa","b"], ["a","a","b"]]思路:如果以每一个切点为分割点来进行左右子串的dfs,那么结果会不停的重复,因此dfs选择左端为基准,若左端点到切点之间的单词为回文串,即可分割的话,将这段子串添加,然后以这...

2019-03-19 12:13:11 119

原创 单词搜索 II

给定一个二维网格board和一个字典中的单词列表words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例:输入: words = ["oath","pea","eat","rain"] and board =[ [...

2019-03-16 13:37:14 555

原创 二叉树 非递归 前序 中序 后序 存档

二叉树 非递归 前中后序遍历 其中root为空头节点 root.left指向真实的二叉头节点其中前序与中序思路相同,打印节点输出位置不同,后序要防止重复进入右节点前序:节点入栈时立即输出,中序:先入栈,后出栈时输出,后序:记录上一个打印输出的节点,判断右孩子与上一个输出的节点是否相同,若相同则跳过进入右孩子,输出当前节点。前序遍历public class DL...

2019-03-13 14:09:56 80

原创 单词拆分2

给定一个非空字符串s和一个包含非空单词列表的字典wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict = ["cat", "cats", "and", "sand", "dog"

2019-03-11 13:11:17 353

原创 单词拆分

给定一个非空字符串s和一个包含非空单词列表的字典wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。思路 :使用一个数组dn[i],表示i之前的字符串能够被拆分成每个都在字典中的单词,那么对于i&lt;j的dn[i]和dn[j]只需要判断i到j的单词是否能够被查询到,有以...

2019-03-10 16:30:39 781

原创 具有拦截器的简单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 737

原创 基于配置文件的简单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 607

原创 求子集&全排列

求子集给定一组不含重复元素的整数数组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 769

原创 除自身以外数组的乘积

给定长度为n的整数数组nums,其中n&gt; 1,返回输出数组output,其中output[i]等于nums中除nums[i]之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明:请不要使用除法,且在O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目...

2019-03-05 12:18:29 108

原创 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root =[3,5,1,6,2,0,8,null,null,7,4]思路:(刚开始使用boolean来...

2019-03-04 20:00:42 162

原创 二叉树中的最大路径和

给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。思路:考虑每个点都能做成最大路径根节点的可能性,因此每个点都要计算以当前节点为路径根节点的最大路径和,与全局最大路径和比较,若大则更新全局的最大路径和。考虑四种情况,选最大的即可1、当前节点本身2、当前节点+左孩子3、...

2019-03-04 18:06:05 1803

原创 求众数

给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。思路:摩尔投票算法遍历有序集合,确定一个值value,确定一个计算器count遍历到一个元素,判断计数器,若为0,将元素值赋给value,计数器+1;遍历到一个元素,若计数器不为0,但元素值等于value,计数器+1;...

2019-03-04 16:17:24 122

原创 字符串相乘

给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。思路:经过学习,大致思路有两种:第一种思路为进行每一位相乘运算时,同时处理进位,以每一位保持小于等于‘9’大于等于‘0’的数保存到char数组中。第二种思路为先进行每一位的相乘运算,保存到char数组中,之后统一处理进位问题,此思路效率高一点。思...

2019-03-03 15:48:38 86

原创 三数之和

给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得a + b + c =0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。思路:根据两数之和,三数之和为具有多个target的两数之和,可以使用hash表或者对撞指针,方法比较明确,但三数之和难点在于结果去重。使用hash表去重思路一直存在bug,因此先使用...

2019-03-02 15:41:36 146

原创 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。思路:本题难点在于整数反转后,整数上限的判断条件的设置。下限=-2147483648 ,即若result*10&lt;-2147483648,比下限还低,即越界;或result*10+pop&lt;-2147483648,同样表示越界。上限=2147483647,即若result*10&gt;...

2019-02-28 20:17:34 108

原创 二叉搜索树中第K小的元素

给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第k个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。思路:中序遍历一个树,有序弹出节点,同时k--,当k为0时,即为第k小的元素,直接返回当前节点。 //非递归中序 public int kthSmallest(TreeNode root, int k...

2019-02-28 20:00:33 668

原创 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?思路:在java中,“^”符合表示异或运算,相同为0,相异为1。因此将数组中所有元素都进行异或,偶数个数字变为0,奇数个的数字保留到最后。 public int singleNumber(int...

2019-02-27 21:18:37 85

原创 环形链表Ⅱ

给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。说明:不允许修改给定的链表。进阶:能否不使用额外空间解决此题。可以使用hash表存储节点,相遇的时候,判断表中已存在当前节点,则成环。本题使用快慢指针,...

2019-02-27 20:02:07 123

原创 最长回文子串

给定字符串s,找到字符串中最长的回文子串。假设s最大长度1000。回文子串指正向读与反向读一致的子串。要求输出 子串长度 与 子串本身。方法有很多。 选择采用动态规划,效率并不高。大致思路记录:if 头尾字符相同 最长子序列长度 = Max(去掉首部的最长子序列长度,去掉尾部的最长子序列长度,去掉首尾的最长子序列长度);if 头尾字符不同最长子序列长度 =...

2019-02-27 11:48:29 80

转载 c的qsort、c++的sort

原作者地址:http://blog.csdn.net/wyjwyl/article/details/47009557原作者:wyjwyl用sort 函数,要加头文件&lt;algorithm&gt;以及using namespace std;另外文件的后缀要改为.cpp用qsort函数,要加头文件&lt;stdlib&gt;这个是c里的,文件的后缀可以是.c int型:sort函数:int cmp...

2018-02-27 08:32:30 134

转载 malloc、realloc

转自:https://www.cnblogs.com/tangshiguang/p/6735402.html作者:唐世光在程序的执行期间分配内存时,内存区域中的这个空间称为堆(heap)。还有另一个内存区域,称为栈(stack),其中的空间分配给函数的参数和本地变量。在执行完该函数后,存储参数和本地变量的内存空间就会释放。堆中的内存是由程序员控制的。在分配堆上的内存时,由程序员跟踪所分配的内存何时...

2018-02-17 02:07:24 132

原创 oj习题

以下oj练习均独立完成统计单词:编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。 (凡是以一个或多个空格隔开的部分就为一个单词)#include&lt;stdio.h&gt;int main(){ int i=0; int wordcount=0; char arr[1000]; while(g...

2018-02-15 21:33:10 1645

原创 c中的字符串指针数组与字符

c语言中要定义字符串的数组可以定义字符串指针数组,数组中定义了几个字符串指针字符串数组指针的赋值:字符串指针数组仅仅只是定义了几个指针,还需要为每个指针分配相应的内存空间char *p[4];for(int i=0;i&lt;4;i++){    p[i]=(char*)malloc(10*sizeof(char));//为每个指针分配空间    //然后scanf/gets;    p[i]="...

2018-02-15 17:45:47 1477

原创 strcpy、strncpy、memcpy

头文件:#include&lt;string.h&gt;1、strcpy函数形式:strcpy(dest,src);     将字符数组src复制到字符数组dest中去2、strncpy函数形式:strncpy(dest,src,2);     将字符数组src的前2个字符复制到dest的数组中去,即只取代dest的前两个字符3、memcpymemcpy函数的功能是从源src所指的内存地址的起始位...

2018-02-15 13:16:45 171

转载 c语言字符串与整数的转换

转自:http://blog.csdn.net/jiede1/article/details/708093521、C语言有atoi、atol、atof等库函数,可分别把ASCII编码的字符串转化为int、long、float类型的数字。需要注意的是,这个几个函数是C语言提供的扩展功能,并不是标准的函数,必须引入头文件# include &lt;stdlib. h&gt;;若需要移植性,请用ssca...

2018-02-12 21:45:53 1060

转载 scanf、gets、printf、puts

转自:https://www.cnblogs.com/chensup/p/5798112.html作者:梓夙1、scanf()函数函数scanf()按指定的格式从键盘读取数据,并将其赋给一个或多个变量。例如: scanf(“%d %f”, &amp;x,&amp;rate);  输入多个变量时,scanf()使用空白将输入隔开。空白可以是空格、制表符或者换行符。格式化字符串中的每一个转换说明符对应...

2018-02-12 21:25:41 274

原创 MYSQL复习小记(二)——摘录笔记

ALTER字段:用法:1、删除,添加或修改表字段ALTER TABLE testalter_tbl DROP i; //testatlter_tb1:表名 i:字段名,属性名只剩余一个字段则无法使用DROP来删除字段。ALTER TABLE testalter_tbl ADD i INT; //添加字段与类型i 字段会自动添加到数据表字段的末尾。可以使用MySQL提供的关键字 FIRST (设...

2018-02-08 22:01:04 215

转载 mysql创建用户与授权

一. 创建用户命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';说明:username:你将创建的用户名host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器例子:...

2018-02-08 21:44:23 151

原创 日期累加

问题 E: 日期累加 时间限制: 1 Sec  内存限制: 32 MB 献花: 45  解决: 32 [献花][花圈][TK题库] 题目描述 设计一个程序能计算一个日期加上若干天后是什么日期。 输入 输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。 输出 输出m行,每行按yyyy-mm-dd的个数输出。 样

2017-08-25 00:52:25 447

转载 日期差值

问题 A: 日期差值题目描述 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。 输入 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD 输出 每组数据输出一行,即日期差值 样例输入 20130101 20130105 样例输出 5代码int month[13][2]={{0,0},{31,31},{28,29},{31

2017-08-23 00:47:07 234

原创 codeup代码练习-特殊乘法

题目链接:http://codeup.cn/problem.php?cid=100000575&pid=2题目描述写个算法,对2个小于1000000000的输入,求结果。特殊乘法举例:123 * 45 = 1*4 +1*5 +2*4 +2*5 +3*4+3*5 输入 两个小于1000000000的数 输出 输入可能有多组数据,对于每一组数据,输出Inpu

2017-08-19 00:00:53 383

转载 从一连串字符串中选取数字转换为整型

题目描述给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。现在请计算A+B的结果,并以正常形式输出。 输入输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 输出请计算A+B的结果,并以正常形式输出,每组数据占一行。 样例输入-234,567,890 123,456,7891,234 2,345,6

2017-08-18 00:21:20 473

空空如也

空空如也

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

TA关注的人

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