自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 讨论社区网站笔记

第一节课:项目功能1登陆注册:注册了之后服务端会给一个验证码,然后每次登陆时有随机产生的验证码。关注功能和点赞功能是高频工作。首页,消息,注册,登陆,我的;管理员统计与用户行为。2技术框架:Spring Boot(为了进一步简化Spring而生)SSM(Spring+Spring MVC+MyBatis)Redis非关系型数据库(默认将数据存到内存上,提高数据处...

2020-01-03 21:24:15 249

原创 浦发编程

1.输入一个数字要求输出该数字各个位上 能被2整除的数的和,如输入5584,输出12.public class ABCTest { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.nextLine(); in.close(); Syst...

2019-07-16 18:47:25 618

原创 面试问题

字节跳动:自我介绍 Hashmap和hashtable的对比 算法题:归并排序链表反转求数组的最大子序列乘积session和cookie机制对比 spring框架中bean的底层实现中有个sgoup,它的初始状态值是多少 存储引擎的对比 主键索引和普通索引区别 写道数据库的题 Linux怎么部署项目的 Redis异步队列怎么实现的 登陆注册怎么用cookie实现...

2019-07-13 19:55:55 320

原创 田忌赛马问题---贪心算法

你一定听过田忌赛马的故事吧? 如果3匹马变成1000匹,齐王仍然让他的马按从优到劣的顺序出赛,田忌可以按任意顺序选择他的赛马出赛。赢一局,田忌可以得到1两银子,输一局,田忌就要输掉1两银子,平局的话不输不赢。 请问田忌最多能赢多少银子?关于输入: 输入包含多组测试数据,每组测试数据的第一行是一个整数n(1<=n<=1000),表示田忌和齐王都拥有n匹马。接下来一行是...

2019-07-07 21:05:38 2896

转载 54. 螺旋矩阵

给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12]]输出:...

2019-07-02 21:42:06 217

转载 53. 最大子序和---动态规划

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。思路: 动态规划的是首先对数组进行遍历,当前最大连续子序列和为 sum,结果为 res 如果 sum > 0,则说明 su...

2019-07-02 21:15:20 110

转载 49. 字母异位词分组---哈希表

给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:输入: ["eat", "tea", "tan", "ate", "nat", "bat"],输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明: 所有输入均为小写字母。 不考虑答案输出的顺序。...

2019-06-28 17:14:11 141

转载 48. 旋转图像---数组

给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[ [1,2,3], [4,5,6], [7,8,9]],原地旋转输入矩阵,使其变为:[ [7,4,1], [8,5,2], [9,6,3]...

2019-06-28 16:13:22 102

转载 46. 全排列---回溯算法

给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]class Solution { public List<List<Integer>> permute(int[] ...

2019-06-28 15:04:15 668

转载 43. 字符串相乘---数学

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明: num1 和 num2 的长度小于110。 num1 ...

2019-06-27 21:44:21 104

转载 42. 接雨水---双指针

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6思路:一个简单的思路就是...

2019-06-27 21:22:09 556 1

原创 深入浅出Spring Boot 2.x 读书笔记

第二章 聊聊开发环境搭建和基本开发项目通过使用IDEA和Maven来搭建Spring Boot开发环境。为什么几乎在没有任何配置下就能用Spring Boot启动Spring MVC项目? Mean是什么?Mean的核心功能是合理叙述项目间的依赖关系,通俗点讲,就是通过pom.xml文件pom.xml的配置就可以获取jar包,而不用手动去添加jar包。application.p...

2019-06-27 20:10:29 194

转载 40. 组合总和 II---回溯算法

给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明: 所有数字(包括目标数)都是正整数。 解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target ...

2019-06-26 20:35:36 171

转载 39. 组合总和---回溯算法

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target = 7,...

2019-06-26 19:55:26 317

转载 34. 在排序数组中查找元素的第一个和最后一个位置---二分法

给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4]示例 2:输入: nums = [5,7,7,8,8,10]...

2019-06-26 16:44:52 253

转载 33. 搜索旋转排序数组---二分查找法

假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入: nums = [4,5,6,7,0,1,2]...

2019-06-25 21:01:13 163

转载 32. 最长有效括号--栈,动态规划

给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"方法1:动态规划这个问题可以通过动态规划解决。我们定义一个 dp 数组,其中第 i个元素表示以下标为 i的字符结尾的最长有...

2019-06-25 20:12:07 355

原创 31. 下一个排列--数组

实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1思路:从右向左,找到i,满足a[i]...

2019-06-25 17:18:01 99

转载 25. K 个一组翻转链表---链表,递归

给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->...

2019-06-24 21:53:18 569

转载 24. 两两交换链表中的节点---递归

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.思路 标签:链表 本题的递归和非递归解法其实原理类似,都是更新每两个点的链表形态完成整个链表的调整 其中递归解法可以作为...

2019-06-24 21:23:45 421

转载 23. 合并K个排序链表---最小堆,归并分治

合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6方法一:贪心算法、优先队列思路分析:1、由于是 k个排序链表,那么这 k 个排序的链表头结点中 va...

2019-06-24 19:47:52 3019

转载 22. 括号生成---回溯法

给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"]回溯法在生成全集的过程中进行剪枝,使得效率最大。并且不需要判重,因为回溯就是一次性生成全集,所以不会重复。剪枝需要用到两个变量,一个是当前...

2019-06-22 17:06:45 303

转载 21. 合并两个有序链表---链表,递归

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路 标签:链表、递归 这道题可以使用递归实现,新链表也不需要构造新节点,我们下面列举递归三个要素 终止条件:两条链表分别名为...

2019-06-22 16:10:22 182

转载 20. 有效的括号---栈

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: fal...

2019-06-22 15:42:35 104

转载 19. 删除链表的倒数第N个节点---链表,双指针

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。思路 标签:链表 整体思路是让前面的指针先移动n步,之后前后指针共同移动直到前面的指针到尾...

2019-06-22 11:29:10 193

转载 17. 电话号码的字母组合---递归

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].public class ABCTest { private String[] map = {...

2019-06-21 21:02:11 157

转载 16. 最接近的三数之和---双指针

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).解题方案思路 标签:排...

2019-06-21 20:43:29 352

原创 15.三数之和---数组,双指针

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]时间复杂度O(...

2019-06-21 20:31:47 134

转载 12. 整数转罗马数字---数字,字符串

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。...

2019-06-20 19:50:17 140

转载 11. 盛最多水的容器---数组,双指针

给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容...

2019-06-20 19:09:17 104

转载 10. 正则表达式匹配--回溯法

给定一个字符串 (s) 和一个字符模式 (p)。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符。 ‘*’ 匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = ...

2019-06-20 18:44:45 323

转载 7.整数反转---数学

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2的31次方, 2的31次方 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0...

2019-06-19 21:01:52 244

转载 6.Z字形变换---字符串

将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将字符串进行指定行数变换的函...

2019-06-19 20:47:55 187

转载 5.最长回文字串---动态规划

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"1.暴力法 public String longestPalindrome(String s) { String ans =...

2019-06-19 20:19:00 422

原创 3.无重复字符的最长子串--哈希表,双指针,滑动窗口

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "...

2019-06-18 10:55:38 331

转载 2.两数相加--链表

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> ...

2019-06-18 09:54:39 189

转载 1.两数之和--数组,哈希表

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路...

2019-06-18 09:04:16 156

原创 数据库

数据库面试题(开发者必看)https://segmentfault.com/a/1190000013517914常见面试题整理--数据库篇(每位开发者必备)https://blog.csdn.net/weinierzui/article/details/71054964面试常考知识点—数据库https://blog.csdn.net/xiaomingdetia...

2019-05-30 18:54:52 131

原创 Java程序员面试笔试宝典笔记

第四章 JAVA基础知识4.3 关键字java和c++的区别:都是面向对象的语言,都支持封装,继承和多态; java不提供指针来直接访问内存,程序内存更加安全; java的类是单继承的,c++支持多重继承;虽然java的类不可以多继承,但是接口可以多继承; java有自动内存管理机制,不需要程序员手动释放无用内存;构造器constructor是否可被继承? 在讲...

2019-05-19 20:53:48 3880

原创 springboot

springboot知识点:https://blog.csdn.net/ityouknow/article/details/80490926http://blog.720ui.com/columns/springboot_all/问答:4.在SpringBoot实现基于Token的用户身份验证https://blog.csdn.net/WilsonSong1024/article/det...

2019-05-07 10:33:56 213

空空如也

空空如也

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

TA关注的人

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