自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (4)
  • 收藏
  • 关注

转载 Comparatable接口和Comparator接口的使用与区别

以下文章转自该博客: http://blog.sina.com.cn/s/blog_63c66eb60100slyc.html这篇博文可以为你解决的问题如下:什么是自然排序Collections.sort()与Arrays.sort()的异同点Comparatable接口和Comparator接口各自的排序依据(理论讲解)Comparatable

2017-03-30 11:19:52 920

原创 网易面试题:男女小孩战队问题

题目描述:幼儿园有n个小朋友排为一个队伍,男生用“B”表示,女生用“G”表示。当男女同挨着时便会发生矛盾。需要对所排的队伍进行调整,每次调整只能让相邻的小朋友交换位置,现在需要尽快完成队伍调整,你需要计算出最少需要调整多少次可以让上述情况最少。例如:GGBGG->GGBGB->GGGBB这样就能使之前的两处男女相邻变为一处男女相邻,需要调整队形两次。程序输入:输入一个数据包

2017-03-25 16:34:07 1575

转载 SPFA算法

SPFA(Shortest Path Faster Algorithm)(队列优化)算法是求单源最短路径的一种算法,它还有一个重要的功能是判负环(在差分约束系统中会得以体现),在Bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法。求单源最短路的SPFA算法的全称是:Shortest Path Faster Algorithm,是西南交通大学段凡丁

2017-03-24 23:10:26 552

转载 宽度优先搜索

宽度优先搜索又译为广度优先搜索算法(英语:Breadth-First-Search,缩写为BFS),或横向优先搜索,是一种图形搜索算法。简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。它的思想是:从图中某顶点v出发,在访问了v之后依次访问v的各个未曾访问过的邻接点,然后分别从这些邻接点出发依次访问它们的邻接点,并使得“先被访问的顶点的邻接点先于后被访问的

2017-03-24 23:03:16 1696

原创 LeetCode014:Longest Common Prefix

原题目:Write a function to find the longest common prefix string amongst an array of strings.找到一个字符串数组中,最长的公共前缀子串,并输出。算法分析:算法1:各种错误,各种提交不通过,各种特殊情况没考虑,服了!算法2:纵向

2016-12-06 22:44:47 541

原创 LeetCode013:Roman to Integer

原题目:Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.将罗马数字转换成阿拉伯数字算法分析:算法1:从前往后扫描,用一个临时变量记录分段数字。如果当前比前一个大,说

2016-12-06 22:40:35 496

原创 LeetCode12:Integer to Roman

原题目:Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.给定一个数字,将其转换成为罗马数字输出算法分析:罗马数字构成:罗马数字共有7个,即Ⅰ(1)、Ⅴ(5)、Ⅹ(10)、Ⅼ(50)、Ⅽ(100

2016-12-06 22:38:19 422

原创 LeetCode11: Container With Most Water

原题目:Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). F

2016-12-06 22:36:43 500

原创 LeetCode10:Regular Expression Matching

原题目:Implement regular expression matching with support for '.' and '*'. '.' Matches any single character.'*' Matches zero or more of the preceding element.The matching should cover t

2016-12-06 22:34:06 377

原创 LeetCode09:Palindrome Number

原题目:Determine whether an integer is a palindrome. Do this without extra space.click to show spoilers.Some hints:Could negative integers be palindromes? (ie, -1)If you are thinking of c

2016-12-06 22:31:48 340

原创 LeetCode08:String to Integer(atoi)

原题目:Implement atoi to convert a string to an integer.实现atoi函数,即将字符串转化为整数算法分析:函数首先丢弃所需的空格字符,直到找到第一个非空格字符。然后,从该字符开始,采用可选的初始加号或减号,后跟尽可能多的数字,并将其解释为数值。字符串可以包含在形成整数数字之后的附加字符,这些字符

2016-12-06 22:29:05 510

原创 LeetCode07:Reverse Integer

原题目:Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321翻转输入的整数算法分析:算法1:将整数转化为字符串,通过翻转字符串来实现数字的翻转。算法2:将整数放入字符数组中,通过从尾到头

2016-11-16 22:22:50 481

原创 LeetCode06:ZigZag Conversion

原题目:The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P      A       H

2016-11-16 22:17:56 507

原创 LeetCode05:Longest Palindromic Substring

原题目:Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example:Input: "babad"Output: "bab"Note: "aba" is also a valid an

2016-11-16 22:15:05 426

原创 LeetCode04:Median of Two Sorted Arrays

原题目:There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).给定两个拍好序的整形数组,返回这两个数组合并后的中位数

2016-11-16 22:12:02 393

原创 LeetCode03:Longest Substring Without Repeating Characters

原题目:Given a string, find the length of the longest substring without repeating characters.Examples:Given "abcabcbb", the answer is "abc", which the length is 3. Given "bbbbb", the answer

2016-11-16 22:10:12 277

原创 LeetCode02:Add Two Numbers Java实现

原题目:You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it a

2016-11-16 22:06:30 1100 3

原创 LeetCode01:Two Sum Java实现

原题目:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solutionExample:Given n

2016-11-16 22:03:36 339

转载 剑指Offer面试题12:打印1到最大的n位数 Java实现

题目:打印1到最大的n位数          输入数字n,按顺序打印出从1到最大n位十进制数。比如输入n = 3,则打印出1,2,3……999.算法分析:如果我们在数字前面补0的话,就会发现n位所有十进制数其实就是n个从0到9的全排列。也就是说,我们把数字的每一位都从0到9排列一遍,就得到了所有的十进制数。只是打印的时候,数字排在前面的0我们不打印出来罢了。

2016-10-30 22:09:23 541

原创 剑指Offer面试题7:用两个栈实现队列 Java实现

题目:用两个栈实现队列            队列的声明如下,请实现它的两个函数appendTail和deletedHead,分别完成在队列尾部插入节点和在队列头部删除节点的功能。算法分析:        我们通过一个具体的例子来分析该队列插入和删除元素的过程。首先插入一个元素a,不妨先把它插入到stack1,此时stack1 中的元素有{a},stack2为空。再压入

2016-10-30 18:33:08 506

原创 剑指Offer面试题6:重建二叉树 Java实现

题目:重建二叉树          输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复数字。例如,输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出图中所示的二叉树并输出它的头节点。算法分析:在二叉树的前序遍历序列中,第一个数字总是树的根节点的值。

2016-10-30 18:25:34 415

原创 剑指Offer面试题11:数值的整数次方 Java实现

题目:数值的整数次方          实现函数 double Power(double base,int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。算法分析:我们都知道在C语言库函数中有一个pow函数可以用来求乘方,本题要求实现类似pow的功能。1、自以为很简单的解法:由于不需要考虑大数问题,

2016-10-30 18:04:34 383

原创 剑指Offer面试题5:从尾到头打印链表

题目:从尾到头打印链表输入一个链表的头节点,从尾到头反过来打印输出每个节点的值。算法分析:        看到这道题,很多人的第一反应是从头到尾输出将会比较简单,于是我们很自然的想到把链表中的节点的指针反转过来,改变链表的方向,然后就可以从头到尾输出了。但该方法改变原来链表的结构。是否允许在打印链表的时候修改链表的结构?这个取决于面试官的要求,因此在面试的时候我们要询问清楚

2016-10-27 21:44:04 855

原创 剑指Offer面试题3:二维数组的查找 Java实现

题目:二维数组的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下的顺序排列。请完成一个函数,输入这样的一个二维数组和一个整数,判断该数组是否含有该整数。例如在下面的二维数组中,如果查找数字7,则返回true;如果查找数字5,由于矩阵不含有该数,则返回false。1    2    8     92    4    9     12

2016-10-27 21:01:16 331

原创 剑指Offer面试题4:替换空格 Java实现

题目:请实现一个函数,把字符串中的每个空格替换成“20%”。例如,输入“we are so happy”则输出:“we20%are20%so20%happy”。算法分析:算法1:时间复杂度为O(n^2)的解法现在我们考虑怎么做替换操作。最直观的做法是从头到尾扫描字符串,每一次碰到空格字符的时候做替换。由于是把1个字符替换称3个字符,我们必须把空格后面的所有的字符

2016-10-27 20:30:04 851

原创 nextInt()与nextLine()方法连用时问题

在nextInt(),next(),nextDouble(),nextFloat()方法与nextLine()连用并放在nextLine()前面时,就会出现如下错误:            System.out.println("请输入矩阵的行数:");        int rows = scanner.nextInt();                Syst

2016-10-23 11:17:04 6005 3

原创 剑指Offer面试题66:矩阵中的路径 java实现

题目:矩阵中的路径          请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中任意一格开始,每一步可以在矩阵中向左右上下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3x4的矩阵中包含一条字符串“bcced"的路径。但该矩阵中不包含字符串"abcd",的路径,因为字符串的第一个字符b占据了矩阵中的第

2016-10-23 11:08:51 1401

原创 剑指Offer面试题67:机器人的运动范围 Java实现

题目:机器人的运动范围          地上有一个m行n列的方格。一个机器人从坐标(0,0)的格子开始移动,它每次可以向左,向右,向上,向下移动一格,但不能进入行坐标和列坐标的位数之和大于k的格子。例如:当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18;但它不能进入方格(35,38),因为3 + 5+3+8 = 19.请问该机器人最多能到达多少个格子?

2016-10-23 10:13:32 2519

原创 剑指Offer面试题65:滑动窗口的最大值 Java实现

题目:给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4.4,6,6,6,5}。算法分析:         如果采用蛮力法,这个问题似乎不难解决:可以扫描每一个滑动窗口的所有数字并找出其中的最大值。如果滑动窗口的大小为k,需要O(k)时间才能找

2016-10-18 23:10:07 5228

原创 剑指offer面试题63:二叉搜索树的第k个节点 Java实现

题目:二叉搜索树的第k个节点         给定一颗二叉搜索树,请找出其中的第k大的节点。例如,下图中的二叉搜索树中,按节点数值大小顺序第三个节点的值 是4. 算法分析:如果按照中序遍历的顺序遍历一棵二叉搜索树,遍历序列的数值是递增排序的。上图中的二叉搜索树的中序遍历序列为{2,3,4,5,6,7,8},因此,只需要用中序遍历算法遍历一棵二叉搜索树,就

2016-10-17 22:31:24 1207

原创 剑指Offer面试题62:序列化二叉树

题目:序列化二叉树        请实现两个函数,分别用来序列化和反序列化二叉树。算法分析:        通过分析解决前面的面试题6.我们知道可以从前序遍历和中序遍历构造出一棵二叉树。受此启发,我们可以先把一棵二叉树序列化成一个前序遍历序列和一个中序序列,然后再反序列化时通过这两个序列重构出原二叉树。  这个思路有两个缺点。一个缺点是该方法要求二叉树中不能用有数值

2016-10-17 22:23:28 408

转载 剑指Offer面试题61:按之子型打印二叉树 Java实现

题目:按之字型打印二叉树          请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,即第一行按照从左到右的顺序打印,第二层按照从右到左顺序打印,第三行再按照从左到右的顺序打印,其他以此类推。例如,按之字型打印下图的二叉树结果为:13  24  5  6  715  14  13  12  11

2016-10-16 22:57:37 1726

转载 剑指Offer面试题60:把二叉树打印成多行 Java实现

题目:把二叉树打印成多行          从上到下按层打印二叉树,同一行的节点从左到右的顺序打印,每一层打印到新的一行。例如,打印下图的二叉树结果为:8,6 105  7  9  11算法分析:为了把二叉树的每一行单独打印到一行里,我们需要两个变量:一个变量表示在当前层还没有打印的节点数,另一个变量表示下一层的节点数目。

2016-10-16 22:46:36 757

原创 剑指Offer面试题59:对称二叉树 Java实现

题目:对称二叉树          请实现一个函数,用来判断一颗二叉树是不是对称的。如果一颗二叉树和它的镜像一样,那么它是对称的。算法分析: 如上图所示,图(1)位一颗对称二叉树,图(2)和图(3)都不是对称二叉树算法描述:见程序算法源程序:/**********************************

2016-10-14 21:46:19 296

原创 剑指Offer面试题58:二叉树的下一个节点

题目:二叉树的下一个节点          给定一颗二叉树和其中的一个节点,如何找出中序遍历的下一个节点?树中的节点除了有两个分别指向左右子节点的指针以外,还有一个指向父节点的指针。算法分析:整个算法中需要考虑的二叉树情况分为两类:1.有右子树的:那么下个结点就是右子树最左边的点;2.没有右子树的:    a)是父节点左孩子,那么父节点就是下一个节点 ;

2016-10-14 21:36:41 486

原创 剑指Offer面试题57:删除重复链表 Java实现

题目:删除重复链表        在一个排序的链表中,删除其中的重复节点,例如,链表A:        A:1->2->2->4->4->6        删除重复节点后的链表B为:        B:1->4->6.算法分析:        解决这个问题的第一步是确定删除的参数。当然这个函数需要输入待删除链表的头结点。头结点可能与后面的结点

2016-10-13 23:41:48 345

原创 剑指Offer面试题56:链表中环的入口节点 Java实现

题目:链表中环的入口节点        一个链表中包含环,如何找出环的入口节点?例如,下图中的入口节点是3.             1->2->3->4->5->6                         ^               |                          |               | 

2016-10-13 23:33:11 775

转载 剑指Offer面试题55:字符流中第一个不重复的字符 Java实现

题目:字符流中第一个不重复的字符        请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中读出前两个字符“go”时,第一个只出现一次的字符是“g”.当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是"l".算法分析:        字符只能一个接着一个从字符流中读出来。可以定义一个数据容器来保存字符在字符流

2016-10-12 22:36:43 465

原创 剑指Offer面试题54:表示数值的字符串

题目:表示数值的字符串        请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串“+100”,“5e2”,"-123","3.1416",  "-1e-16"都表示数值,但“12e",  "1a3.14"  ,"1.2.3", "+-5"都不是。算法分析: 在数值之前可能有一个表示正负的’-‘或者’+’。接下来是若干个0到9的数位表示数值的

2016-10-12 22:27:12 259

转载 剑指Offer面试题53:正则表达式匹配 Java实现

题目:正则表达式匹配    请实现一个函数用来匹配包含‘.’和‘*’的正则表达式。模式中的字符’.’表示任意一个字符,而‘*’表示它前面的字符可以出现任意次(含0次)。本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串“aaa”与模式“a.a”和“ab*ac*a”匹配,但与“aa.a”及“ab*a”均不匹配。算法分析:以下算法代码转自博客:http://blog

2016-10-11 22:48:34 2399

stm32的RTC计时程序

在STM32的嵌入式开发板上,采用RTC进行计时,利用RTC计时来代替系统时钟

2016-02-14

java输出各种菱形代码

通过java语言输出各种菱形图案,可以用于基本的java编程,是java语言的基础练习

2016-02-14

stm32 ADC采集温度

基于STM32嵌入式芯片的ADC采集程序,尤其适合国信长天开发板

2015-04-01

stm32嵌入式 UART接收程序

stm32嵌入式的UART接收程序,在PC机上用串口发送,在开发板上接收

2015-04-01

空空如也

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

TA关注的人

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