算法
文章平均质量分 63
yzp_
这个作者很懒,什么都没留下…
展开
-
八大排序算法
转自: http://blog.csdn.net/hguisu/article/details/7776068概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(转载 2016-02-25 18:44:10 · 249 阅读 · 0 评论 -
打印和为N的连续正整数序列
输入一个正数 n,输出所有和为 n 连续正数序列 例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5、4-6 和 7-8。第一种方法:import java.util.ArrayList;/* * 用等差数列求和公式解决 * 因为是和为n的连续正整数序列 * 等差数列求和公式可以求到:和为n的连续序列的第一个数,最后一个数,以原创 2017-03-05 18:12:15 · 2306 阅读 · 0 评论 -
快速的判断一个数的二进制中有多少个1
x=x&(x-1) 表达式的意思就是:把x的二进制表示从低位开始,将遇到的第一个为1的比特位 置0。例如:e1:x = 01001000x-1 = 01000111x&(x-1)=01000000e2:x = 01001001x-1 = 01001000x&(x-1)=01001000在循环中利用该表达式可以快速的判断一个数的转载 2016-09-03 19:11:56 · 7586 阅读 · 0 评论 -
【LintCode】 空格替换
题目:设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。你的程序还需要返回被替换后的字符串的长度。样例:对于字符串"Mr John Smith", 长度为 13替换空格之后,参数中的字符串需要变为"Mr%20John%20Smith",并且把新长度 17 作为结果返回。求原创 2016-09-03 19:56:56 · 1100 阅读 · 0 评论 -
【LintCode】Reverse Words in a String 翻转字符串
描述:给定一个字符串,逐个翻转字符串中的每个单词。说明单词的构成:无空格字母构成一个单词输入字符串是否包括前导或者尾随空格?可以包括,但是反转后的字符不能包括如何处理两个单词间的多个空格?在反转字符串中间空格减少到只含一个样例给出s = "the sky is blue",返回"blue is sky the"原创 2016-09-05 13:48:27 · 986 阅读 · 0 评论 -
【LintCode】翻转链表 II
题目给一个链表,然后我们要把这个链表中第m个节点到第n个节点的部分翻转。样例给出链表1->2->3->4->5->null, m = 2 和n = 4,返回1->4->3->2->5->null代码及注释/** * Definition for ListNode * public class ListNode { * int val; *原创 2016-09-08 16:00:40 · 1136 阅读 · 0 评论 -
【LintCode】用栈实现队列
描述正如标题所述,你需要使用两个栈来实现队列的一些操作。队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。pop和top方法都应该返回第一个元素的值。样例比如push(1), pop(), push(2), push(3), top(), pop(),你应该返回1,2和2思路原创 2016-09-08 17:51:20 · 1179 阅读 · 0 评论 -
【LintCode】打劫房屋
描述假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打劫,你最多可以得到多少钱 在不触动报警装置的情况下。样例给定 [3, 8, 4], 返原创 2016-09-10 10:09:15 · 1307 阅读 · 0 评论 -
【LintCode】搜索二维矩阵 II
描述写出一个高效的算法来搜索m×n矩阵中的值,返回这个值出现的次数。这个矩阵具有以下特性:每行中的整数从左到右是排序的。每一列的整数从上到下是排序的。在每一行或每一列中没有重复的整数。样例考虑下列矩阵:[ [1, 3, 5, 7], [2, 4, 7, 8], [3, 5, 9, 10原创 2016-09-10 16:51:08 · 1177 阅读 · 0 评论 -
【LintCode】搜索二维矩阵
描述写出一个高效的算法来搜索 m × n矩阵中的值。这个矩阵具有以下特性:每行中的整数从左到右是排序的。每行的第一个数大于上一行的最后一个整数。样例考虑下列矩阵:[ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]给出 target = 3,返回 true代原创 2016-09-10 17:57:05 · 576 阅读 · 0 评论 -
无序数组中找到最长连续子序列
原始题目:给定一个无序的整数序列, 找到最长的连续子序列。例如:给定[100, 4, 200, 1, 3, 2],最长的连续子序列是[1, 2, 3, 4]。第一种解法:不要求时间复杂度,直接排序后比较得到最长子序列。第二种解法:要求时间复杂度,用HashSet的空间换时间。先将元素全部放入HashSet中,然后从第一个元素开始,取出,找原创 2017-03-05 18:31:16 · 6652 阅读 · 0 评论