自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

1号帅比的博客

厚积薄发

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

原创 Springboot-web入门开发之使用Eclipse搭建我的第一个spring-boot-web项目

使用Eclipse新建springboot项目要确保你的Eclipse安装了spingboot插件。1.新建项目,选择Spring Starter Project.2.点击next到以下页面,选择Template Engines目录下的Thymeleaf 和Web目录下的Web.3.点击Finish完成项目的创建,得到的项目目录如下图所示。src/main/java 程序开发以及主程序入口src/...

2018-06-13 12:28:22 9768

原创 LeetCode617. 合并二叉树

给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 1 ...

2018-06-12 14:55:03 887

原创 LeetCode628. 三个数的最大乘积

给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。思路:首先将数组按升序排序。得到三个数的最大乘积有2种可能。给定一个整型数组...

2018-06-11 21:23:44 624

原创 LeetCode605. 种花问题

假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则返回False。示例 1:输入: flowerbed = [1,0,0,0,1], n = 1输出: True...

2018-06-11 18:31:20 452

原创 LeetCode599. 两个列表的最小索引总和

假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。示例 1:输入:["Shogun", "Tapioca Express", "Burger King", "KFC"]["Piatti", "The .

2018-06-11 14:51:23 1178

原创 LeetCode594. 最长和谐子序列

和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。示例 1:输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].说明: 输入的数组长度最大不超过20,000.思路:将数组中的元素作为key,该元素出现次数作为value存入哈希表。遍历哈希表,找出最长和谐...

2018-06-10 09:51:10 1185

原创 LeetCode575. 分糖果

给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。 最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最多。示...

2018-06-09 14:34:49 689 1

原创 LeetCode572. 另一个树的子树

给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。示例 1:给定的树 s: 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \ 1 2返回 true,因为 t 与 s 的一个子树拥有相同的结构和节点值。示例 ...

2018-06-09 14:03:06 413

原创 LeetCode566. 重塑矩阵

在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:输入: nums = [...

2018-06-09 10:28:15 258

原创 LeetCode561. 数组拆分 I

给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示:n 是正整数,范围在 [1, 10000].数组中的元素范...

2018-06-07 08:44:20 526

原创 LeetCode557. 反转字符串中的单词 III

给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: "Let's take LeetCode contest"输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。思路:将字符串分割成不含空字符的单个字符串数组,将数组中的每个字符串反转,最后将数组中的字...

2018-06-06 12:14:39 743

原创 LeetCode551. 学生出勤纪录 I

给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符:'A' : Absent,缺勤'L' : Late,迟到'P' : Present,到场如果一个学生的出勤纪录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),那么这个学生会被奖赏。你需要根据这个学生的出勤纪录判断他是否会被奖赏。示例 1:输入: "PPALLP"输出: True示例 2:输入: "PPALLL"...

2018-06-06 11:00:35 374

原创 LeetCode520. 检测大写字母

给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如"USA"。单词中所有字母都不是大写,比如"leetcode"。如果单词不只含有一个字母,只有首字母大写, 比如 "Google"。否则,我们定义这个单词没有正确使用大写字母。示例 1:输入: "USA"输出: True示例 2:输入: "FlaG"输出: False注意:...

2018-06-06 09:40:50 178

原创 LeetCode506. 相对名次

给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”("Gold Medal", "Silver Medal", "Bronze Medal")。(注:分数越高的选手,排名越靠前。)示例 1:输入: [5, 4, 3, 2, 1]输出: ["Gold Medal", "Silver Medal", "Bronze Med.

2018-06-05 14:39:30 793

原创 java使用队列结构实现二叉树的广度优先遍历

/** * 广度优先遍历 * 辅助数据结构:队列 * @param root */ public static void levelOrderTraversal(TreeNode root) { if(root==null) { return ; } ArrayDeque<TreeNode> qu...

2018-06-05 13:54:43 843

原创 java使用栈结构实现二叉树的深度优先遍历

/** * 深度优先遍历 * 辅助数据结构:栈 * @param root */ public void depthOrderTraversal(TreeNode root) { if(root==null) { return ; } Stack<TreeNode> stack=new Stack<TreeNode...

2018-06-05 13:52:14 1851

原创 LeetCode100. 相同的树

给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1 ...

2018-06-05 13:27:19 1781 1

原创 LeetCode258. 各位相加

给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。示例:输入: 38输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。思路:class Solution { public int addDigits(int num) { while(num>=10) { num=(...

2018-06-05 09:11:44 359

原创 LeetCode283. 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路:class Solution { public void moveZeroes(int[] nums) { if(nums==null) ...

2018-06-05 09:08:16 167

原创 LeetCode459. 重复的子字符串

给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解释: 可由子字符串 "abc" 重复四次构成。 (或...

2018-06-05 08:55:30 880

原创 LeetCode448. 找到所有数组中消失的数字

给定一个范围在  1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。找到所有在 [1, n] 范围之间没有出现在数组中的数字。您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算在额外空间内。示例:输入:[4,3,2,7,8,2,3,1]输出:[5,6]思路:为1~n的元素构建哈希表;元...

2018-06-05 08:46:21 737

原创 LeetCode414. 第三大的数

给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的数,是指第三大且...

2018-06-05 08:31:02 1075

原创 LeetCode434. 字符串中的单词数

统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例:输入: "Hello, my name is John"输出: 5思路:从第二个单词起,每出现一个单词的条件必是空字符后出现非空字符,例如:‘ ’+'m'  出现my;  ' '+'n' 出现name  等等。因此,只需统计空字符后紧跟着出现非空字符的次数即可。别忘了如果字符...

2018-06-05 08:29:55 998

原创 LeetCode412. Fizz Buzz

写一个程序,输出从 1 到 n 数字的字符串表示。1. 如果 n 是3的倍数,输出“Fizz”;2. 如果 n 是5的倍数,输出“Buzz”;3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。示例:n = 15,返回:[ "1", "2", "Fizz", "4", "Buzz", "Fizz", "7&q

2018-06-04 21:13:39 108

原创 LeetCode404. 左叶子之和

计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 思路:定义全局变量sum=0,深度优先遍历二叉树,当结点为左叶子结点时,sum加上该结点的值。(重点是判断该结点是左叶子结点)/** * Definition for a binary tree node. ...

2018-06-04 21:10:45 842

原创 LeetCode389. 找不同

给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。 示例:输入:s = "abcd"t = "abcde"输出:e解释:'e' 是那个被添加的字母。思路:因为字符串中只含小写字母,因此以26个小写字母的值作为key,出现次数作为value构建哈希表;class Solution { ...

2018-06-04 21:05:22 436

原创 LeetCode387. 字符串中的第一个唯一字符

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2. 注意事项:您可以假定该字符串只包含小写字母。思路:用LinkedHashMap结构来存储字符串,字符串的元素作为key,元素出现次数作为value;因为LinkedHashMap中的元素是顺序存储的,只需找出第...

2018-06-04 20:49:48 173

原创 LeetCode383. 赎金信

给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。)注意:你可以假设两个字符串均只含有小写字母。canConstruct("a", "b") ->...

2018-06-04 20:41:02 3375

原创 LeetCode350. 两个数组的交集 II

给定两个数组,写一个方法来计算它们的交集。例如:给定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意:   输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。   我们可以不考虑输出结果的顺序。思路:将数组1中的元素作为哈希表的key,元素出现次数作为value构建一张哈希表。遍历数组2,若数组2中的元素在哈希表中作为key存在...

2018-06-04 20:33:36 156

原创 LeetCode349. 两个数组的交集

给定两个数组,写一个函数来计算它们的交集。例子: 给定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].提示:每个在结果中的元素必定是唯一的。我们可以不考虑输出结果的顺序。思路:用哈希表结构来存储同时出现在数组1和数组2的元素。class Solution { public int[] intersection(int[] nums1, int[] n...

2018-06-04 20:26:02 269

原创 LeetCode345. 反转字符串中的元音字母

编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:给定 s = "hello", 返回 "holle".示例 2:给定 s = "leetcode", 返回 "leotcede".注意:元音字母不包括 "y".思路:定义两个指针,分别指向字符串的头和尾,当两个指针所指字符都为元音字母时,交换两个字符的位置。class Solution { public String re...

2018-06-04 20:17:50 479

原创 LeetCode504. 七进制数

给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意: 输入范围是 [-1e7, 1e7] 。思路:十进制转七进制,注意num值的3种情况;1.大于0,2.等于0,3.小于0。class Solution { public String convertToBase7(int num) { ...

2018-06-04 17:59:35 426

原创 LeetCode500. 键盘行

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。示例1:输入: ["Hello", "Alaska", "Dad", "Peace"]输出: ["Alaska", "Dad"]注意:你可以重复使用键盘上同一字符。你可以假设输入的字符串将只包含字母。思路:为键盘的每一行字符构建一个哈希表,判断给定字符串是否完全由其中一个哈希表的字符构成。class So

2018-06-04 11:50:10 427

原创 LeetCode496. 下一个更大元素

给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输出: ...

2018-06-03 11:43:36 620

原创 LeetCode492. 构造矩形

作为一位web开发者, 懂得怎样去规划一个页面的尺寸是很重要的。 现给定一个具体的矩形页面面积,你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求:1. 你设计的矩形页面必须等于给定的目标面积。2. 宽度 W 不应大于长度 L,换言之,要求 L >= W 。3. 长度 L 和宽度 W 之间的差距应当尽可能小。你需要按顺序输出你设计的页面的长度 L 和宽度 ...

2018-06-03 10:53:30 446

原创 LeetCode485. 最大连续1的个数

给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含 0 和1。输入数组的长度是正整数,且不超过 10,000。思路:遍历数组,定义count变量对连续出现的1计数,当出现0时,更新最大值,并开始重新计数。class Solution { pu...

2018-06-03 09:58:28 548

原创 LeetCode344. 反转字符串

请编写一个函数,其功能是将输入的字符串反转过来。示例:输入:s = "hello"返回:"olleh"class Solution { public String reverseString(String s) { if(s==null) { return null; } int len=s.length(); char[] ch=...

2018-06-02 15:15:43 1146

原创 jsp+jdbc+javaBean+servlet实现分页显示功能

数据库中的数据表数据如下:javaBean: 建立Page类用来存储从数据库查询到的数据信息和当前页面信息。public class Page { private int pagenum;//当前页面 private int pagesize;//页面大小 private List<Book> books;//页面数据 public int getPagenum() { r...

2018-06-02 15:07:47 2022

原创 LeetCode303. 区域和检索 - 数组不可变

给定一个整数数组  nums,求出数组从索引 i 到 j  (i ≤ j) 范围内元素的总和,包含 i,  j 两点。示例:给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为sumRange()sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3思路:遍历数组求和。class Num...

2018-06-01 13:51:56 741

原创 LeetCode292. Nim游戏

你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。示例:输入: 4输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛;  因为无论你拿走 1 块、2 块 还是 3 块石头,最后...

2018-06-01 13:49:01 429

空空如也

空空如也

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

TA关注的人

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