自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 每日算法之二十三:Reverse Nodes in k-Group

Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is

2014-05-31 11:18:55 872

原创 Vector、List、Deque源码

Vector: #includeusing namespace std;#include // alloc是SGI STL的空间配置器template class vector{public: // vector的嵌套类型定义,typedefs用于提供iterator_traits支持 typedef T value_type; typedef va

2014-05-30 21:04:10 570

原创 每日算法之二十二:Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head.For example,Given 1->2->3->4, you should return the list as 2->1->4->3.Your algorithm should use only constant space.

2014-05-30 20:11:11 904

原创 《剑指offer》编程在练评判

下面是剑指offer书中的练习题在九度在线评判系统中的在线评测,非常适合大家练习。文章是转载。       目前国内外越来越多公司将在线机试的方式引入求职招聘中,或者通过各种在线比赛和比赛平台搜寻各类编程人才。在线编程练习可以培养求职者良好的编程习惯,提高编程水平,其自动判题功能也能大大节约求职者验证代码的时间。九度在线测试系统现将书中题目收录进九度题库中,供广大求职者学习使用。 

2014-05-30 15:32:22 836

原创 每日算法之二十一:Merge k Sorted Lists

Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

2014-05-28 11:36:37 648

转载 查找二:B树、Tril树

查找(二) 散列表散列表是普通数组概念的推广。由于对普通数组可以直接寻址,使得能在O(1)时间内访问数组中的任意位置。在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标。使用散列的查找算法分为两步。第一步是用散列函数将被查找的键转化为数组的一个索引。我们需要面对两个或多个键都会散列到相同的索引值的情况。因此,第二步就是

2014-05-28 11:04:45 761

转载 查找一:红黑树讲解

查找(一)我们使用符号表这个词来描述一张抽象的表格,我们会将信息(值)存储在其中,然后按照指定的键来搜索并获取这些信息。键和值的具体意义取决于不同的应用。符号表中可能会保存很多键和很多信息,因此实现一张高效的符号表也是一项很有挑战性的任务。我们会用三种经典的数据类型来实现高效的符号表:二叉查找数、红黑树、散列表。二分查找

2014-05-28 11:03:16 838

转载 C语言细节考察

★先来个简单的:[cpp] view plaincopyprint?#include   int main(void)  {         inta[3][2] = { (0,1), (2,3), (4,5) } ;         int*p ;         p= a[0] ;         printf(“

2014-05-28 11:01:33 808

转载 排序二:索引、桶排序、败者树

排序(二)以上排序算法都有一个性质:在排序的最终结果中,各元素的次序依赖于它们之间的比较。我们把这类排序算法称为比较排序。任何比较排序的时间复杂度的下界是nlgn。 以下排序算法是用运算而不是比较来确定排序顺序的。因此下界nlgn对它们是不适用的。 键索引计数法(计数排序)计数排序假设n个输入元素中的每一个

2014-05-28 10:58:37 742

转载 排序一:快排、归并、优先队列等

排序(一)初级排序算法选择排序思想:首先,找到数组中最小的那个元素。其次,将它和数组的第一个元素交换位置。再次,在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置。如此往复,直到将整个数组排序。 【图例】图中,x轴方向为数组的索引,y轴方向为待排序元素的值。 选择排序有两个很鲜明的特点:

2014-05-28 10:56:22 946

原创 每日算法之二十:Generate Parentheses

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:"((()))", "(()())", "(())()", "()(())", "()()

2014-05-26 21:10:33 917

原创 每日算法之十九:Valid Parentheses

这个就是查看括号是否是匹配的。使用STL中的stack是容易实现的。代码如下:

2014-05-26 15:53:33 773

原创 每日算法之十八: Remove Nth Node From End of List

Given a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the

2014-05-25 22:13:10 490

原创 每日算法之十六:4sum

Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = target? Find all unique quadruplets in the array which gives the sum of target.Note:Element

2014-05-25 21:15:55 719

原创 设计模式之单例模式

单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。       单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做

2014-05-25 17:15:27 512

原创 每日算法之十五:threesumClosset

Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exact

2014-05-23 21:46:01 742

原创 每日算法之十四:3Sum

给定数组,求解一个三元组,是元素相加为零,且三元组不能重复,并且有序。思路如下:先排序,固定第一个指针指向开头,第二个指针指向后一个元素,第三个指针指向最后一个元素。让这三个元素相加,如果结果大于零,让最后一个元素向前移动,再次求和,反之亦然。但要确保第三个元素在第二个元素后面。这样依次添加进向量中即可,只要保证三个指针的顺序不乱就能保证三元组有序。怎么确保不重复,也就是确保三元组都不相同。这是个需要着重考虑的问题,很绕,本题的难点就在这里。顺着下面的代码走一遍就能很清楚的知道了。

2014-05-23 11:07:29 758

原创 每日算法之十三:Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings.求解

2014-05-21 11:45:10 588

原创 每日算法之十二:Roman to Integer

Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.class Solution {public: int toNUm(char ch) { switch(ch) { case 'I':return 1;

2014-05-19 22:11:22 695

原创 每日算法之十一:Integer to Roman

题目:Given an integer, convert it to a roman numeral.Input is guaranteed to be within the range from 1 to 3999.罗马表示方式如下:I = 1;V = 5;X = 10;L = 50;C = 100;D = 500;M = 1000;其中每

2014-05-18 22:08:45 837

原创 每日算法之十:Container With Most Water

给定一个向量,其中的每个元素代表了高度,比如height[3] = 5,说明在坐标轴中在点3处存在高度为5的竖线,这样所有的元素就形成一个琴状的形状,最后要求的就是两条竖线之间的矩形形状最大的面积。最直觉的做法就是穷举,这样的复杂度是O(n2),显然还有更合适的方法,因为在这样的方法中有很多确定要小的面积也进行了计算。关于面积有两个变量,一个是横轴之间的距离,;另一个是两条竖轴之间的距离。我们可以固定其中一个变量,很显然,我们可以先取最远的两条竖线进行比较,然后使两个辅助指针逐渐缩小,取两个辅助指针中的较小

2014-05-18 21:05:12 788

原创 每日算法之九: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 the entire input

2014-05-16 22:13:49 764

原创 正则表达式

本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :)别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白

2014-05-14 23:22:37 1146

原创 每日算法之八:String to Integer (atoi) 及溢出分析

要求就是把字符串转化为整形,按照我们的理解就可以逐字符遍历,转化为整形即可,比如字符串"123454",我们只要取出第零个字符'1'-‘0’就可以得到数字1,然后把1乘以10,再加上‘2’-‘0’·····这样依次就可以得到转化之后的整形数字。当然有几个地方需要注意:1)字符串可能以正负号开始,也可能包含一些其他的非数字型字符,是不能转化为数字的,是忽略还是报错看需求2)越界,字符串转化到整形数字之后的数字串可能超出表示范围,超出的可以置为INT_MAX或者INT_MIN。

2014-05-10 16:51:43 1764

原创 每日算法之七:Reverse Integer

Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321hen

2014-05-08 11:06:12 853

转载 C++遍历目录下文件

function:遍历目录下所有文件,返回文件总数,子文件夹总数(修改一下可以获得全部文件名等)。[cpp] view plaincopy#include "stdlib.h"  #include "direct.h"  #include "string.h"  #include "io.h"  #include 

2014-05-07 08:48:15 1105

原创 每日博客之六:ZigZag Conversion

题目要求是Z字形输出,先竖排,到了nRows之后,之后的字符放在nRows-1行,单独成一列,依次递推,到底一行后,之后的元素放在前一个元素的下方,以此类推即可。

2014-05-04 22:08:07 772

SSH框架整合实例

完整的ssh框架整合实例,真的是完整的,不要积分

2014-08-28

阿里巴巴2014名企实习

包括笔试面试的经验分享,有笔试题目和面试题目的分享,看一下收获很大的

2014-05-29

排列生成算法

对排列生成算法的很好的总结,很详细,有着丰富的例子,理解起来不是问题

2013-11-23

数据库 分析了解图书信息管理的创建过程

库表的建立,这是很容易实现的,希望对大家会有作用,谢谢

2011-06-03

空空如也

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

TA关注的人

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