自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

爱谁谁博客

日常笔记

  • 博客(22)
  • 问答 (1)
  • 收藏
  • 关注

原创 翻转二叉树

描述翻转一棵二叉树样例Example 1: Input: {1,3,#} Output: {1,#,3} Explanation: 1 / 3Example 2: Input: {1,2,3,#,#,4} Output: {1,3,2,#,4} Explanation: 1 1 / \ / \...

2019-02-28 21:34:51 575

原创 二叉树的所有路径

题目描述给一棵二叉树,找出从根节点到叶子节点的所有路径。样例例1:输入:1 / \2 3\5输出:[ "1->2->5", "1->3"]算法思路使用递归进行代码实现public List<String> binaryTreePaths(TreeNode root) { ...

2019-02-28 21:24:49 111

原创 删除链表中的第n到m个节点

题目描述给定一个链表,删除链表中的第 n 到 m 个节点,返回链表的头节点。编号从00开始链表的长度不超过100000样例样例 1:输入:head = 1->2->3->4->5->null, n = 1, m = 2输出:1->4->5->null样例 2:输入:head = 1->2->...

2019-02-28 11:31:31 668

原创 删除链表中倒数第n个节点

题目描述给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。样例给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.算法思路既然只允许遍历一次,且N一直有效,那么可以利用双指针解法(前指针、后指针),让前指针先走N步,再让两个在指针同...

2019-02-28 09:38:03 98

原创 相反的顺序存储

题目描述给出一个链表,并将链表的值以倒序存储到数组中。算法思路使用递归,时间复杂度O(n)代码实现(JAVA)public class Solution { /** * @param head: the given linked list * @return: the array that store the values in reverse o...

2019-02-27 21:58:18 167

原创 找链表的中点

样例链表1->2->3的中点是2。链表1->2的中点是1。算法思路使用快慢指针实现,慢指针一次移动一个节点,快节点一次移动两个节点,快指针到达终点时,慢指针指向中点代码实现(JAVA)public ListNode middleNode(ListNode head) { // write your code here ...

2019-02-27 21:38:46 318

原创 会议室

题目描述:给定一系列的会议时间间隔,包括起始和结束时间[[s1,e1],[s2,e2],…(si < ei),确定一个人是否可以参加所有会议。算法思路 :按照区间start从小到大排序,满足题目要求的区间应该是没有交集的。所以要比较看当前区间end是否大于下一个区间start, 并且不同区间start应该不相同。代码实现(Java): /** * Definiti...

2019-02-27 09:38:56 201

原创 多关键字排序

描述给定 n 个学生的学号(从 1 到 n 编号)以及他们的考试成绩,表示为(学号,考试成绩),请将这些学生按考试成绩降序排序,若考试成绩相同,则按学号升序排序。代码实现(Java): /** * 多关键字排序 */ public int[][] multiSort(int[][] array) { for (int i = 0; i ...

2019-02-26 20:57:27 1632

原创 合并数字

描述:给出n个数,现在要将这n个数合并成一个数,每次只能选择两个数a,b合并,每次合并需要消耗a+b的能量,输出将这n个数合并成一个数后消耗的最小能量。算法:贪心算法:显然每次选择当前的最小的两个数进行合并的答案是最优的,故用一个优先队列,大根堆,每次选堆顶的两个元素进行合并,然后再扔进堆里即可,时间复杂度O(nlogn)O(nlogn)。代码实现(JAVA): publi...

2019-02-26 16:49:56 569

原创 搜索插入位置

描述:给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引。如果没有,返回到它将会被按顺序插入的位置。代码实现(Java):(时间复杂度为 O(log n),使用二分法)public int searchInsert(int[] A, int target) { // write your code here if (A == null ||...

2019-02-26 10:29:26 105

原创 合法文章

描述:给定一篇由大写字母、小写字母、逗号、句号组成的文章,求使文章不合法的字母数。文章不合法有2种情况:1.句子的第一个字母用了小写。2.不是单词的首字母用了大写。代码实现(Java):  public int count(String s) { // Write your code here. boolean st = true; ...

2019-02-25 20:11:02 273

原创 第一个只出现一次的字符

描述给出一个字符串,找出第一个只出现一次的字符。样例样例 1: 输入: "abaccdeff" 输出: 'b' 解释: 'b' 是第一个出现一次的字符样例 2: 输入: "aabccd" 输出: 'b' 解释: 'b' 是第一个出现一次的字符 代码实现(Java): (使用额外的存储空间)public char firstUniqChar(...

2019-02-25 10:53:59 109

原创 翻转字符串里的单词

描述给定一个字符串,逐个翻转字符串中的每个单词。说明单词的构成:无空格字母构成一个单词 输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括 如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个样例给出s = "the sky is blue",返回"blue is sky the" 代码实现(Java):public String...

2019-02-25 10:27:46 140

原创 判断一个字符串中的字符是否唯一

对于ASCII字符:/** * 对于ASCII字符,我们需要256位 * 该算法的时间复杂度为O(n) * @param s * @return */ public static boolean isUnique(String s) { boolean[] a = new boolean[256]; int len = s.length(); for (...

2019-02-23 16:31:37 557

转载 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符

给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符(原题连接:http://www.lintcode.com/zh-cn/problem/a-b-problem/)。思路:考虑一个普通的加法计算:5+17=22在十进制加法中可以分为如下3步进行:    1. 忽略进位,只做对应各位数字相加,得到12(个位上5+7=12,忽略进位,结果2);    2. 记录进位,上一步...

2019-02-21 21:03:59 157

原创 旋转字符串

题目:给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)样例对于字符串 "abcdefg".offset=0 => "abcdefg"offset=1 => "gabcdef"offset=2 => "fgabcde"offset=3 => "efgabcd"解决方案:对于这个问题,换一个角度思考一下。将

2019-02-21 20:16:48 745

原创 给定一个整数数组,找出其中两个数相加等于目标值

1.查找法两层遍历,最直观时间复杂度:  O(N*N)代码实现:public int[] twoSum(int[] numbers, int target) { // write your code here int[] result = new int[2]; int firstIndex = 0; int sec...

2019-02-21 15:11:21 1979

原创 spring cloud中feign调用超时问题

在zuul网关模块以及需要调用其他微服务的模块配置:# 配置Ribbon超时时间ribbon: ReadTimeout: 10000 ConnectTimeout: 10000 # 对所有操作请求都进行重试 OkToRetryOnAllOperations: true # 对当前实例的重试次数 MaxAutoRetries: 1 # 切换实例的重试次数 Ma...

2019-02-21 11:14:17 2366

原创 落单的数

题目叙述:找出数组中只出现一次的数字方法:采用异或技巧异或的特点:即两个相同的数异或结果为0思路:任何一个数字异或它自己都等于0 。也就是说,如果我们从头到尾依次异或数组中的每一个数字,那么最终的结果刚好是那个只出现一次的数字,因为那些出现两次的数字全部在异或中抵消掉了。代码(Java):public class Solution { public i...

2019-02-21 10:03:25 383

原创 springboot2.0 使用 jsp

1. 在pom中添加依赖<!-- 在springboot中使用JSP--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> &l...

2019-02-19 11:40:43 249

原创 排序算法--选择排序

选择排序:选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。时间复杂度以及空间复杂度:时间复杂度(平均,最好,最坏):O(n^2)空间复杂度:O(1)算法描述:第1趟,在待...

2019-02-16 15:40:09 129

原创 排序算法--冒泡排序

冒泡排序:冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来时间复杂度以及空间复杂度:时间复杂度(平均):O(n^2)时间复杂度(最坏):O(n^2)时间复杂度(最好):O(n)空间复杂度:O (1)算法描述:比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样的工作,从开...

2019-02-16 15:18:15 134

空空如也

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

TA关注的人

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