自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

没有最好,只有更好!

True mastery of any skill takes a lifetime.

  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

原创 leetcode_388 Longest Absolute File Path

题目分析给定一个字符串,表示文件系统的目录结构。统计该目录结构中的一个文件的绝对路径的最大长度。解题思路利用\n来分割文件夹和文件名,利用\t来统计此时文件夹或文件对应的层数,然后利用哈希表来建立深度和当前深度的绝对路径长度之间的映射。实现程序int lengthLongestPath(string input){ int result = 0; int size = inp

2016-08-30 12:40:15 1614

原创 leetcode_383 Ransom Note

题目分析给定两个字符串magazines和ransomNote,判断是否可以从magazines中抽取字母(每个字母只能用一次)组成ransomNote。字符串均由小写字母组成。解题思路1)统计ransomNote中每个字符出现的次数; 2)然后统计magazines中字符出现的次数; 3)判断ransomNote中的字符是否全部包含在magazines中即可。实现程序bool canCo

2016-08-29 23:08:44 876

原创 leetcode_387 First Unique Character in a String

题目分析给定一个字符串,找出该字符串中第一个不重复的字符,并返回其对应的下标。如果不存在,则返回-1。解题思路首先遍历字符串,统计每个字符出现的次数,然后在遍历字符串,找出第一个只出现一次的字符即可。实现程序int firstUniqChar(string s){ if (s.length() <= 0) return -1; vector<int> temp

2016-08-29 22:44:55 784

原创 leetcode_389 Find the Difference

题目分析给定两个字符串s和t,都只包含小写字母,字符串t是由字符串s打乱顺序且在额外的随机位置上添加一个字符组成,请找出这个字符。解题思路1)利用一个数组,先统计s字符串中每个字符出现的次数,然后统计t字符串中的次数,最后找出差异的字符串即可。 2)可以利用hash_map来进行统计实现。实现程序// 方法1 利用数组实现char findTheDifference(string s, s

2016-08-29 20:37:18 2901

原创 leetcode_373 Find K Pairs with Smallest Sums

题目分析给定两个递增的数组,从每个数组中任意取出一个数来组成不同的数字对,求前k个最小的数字对。 解题思路:方法1 利用暴力求解法; 方法2 借助STL中的multimap实现; 方法3 借助STL中的priority_queue实现。实现程序static bool cmp(pair<int, int> a, pair<int, int> b){ if (a.first + a.

2016-08-29 19:30:52 790

原创 双缓冲区

双缓冲区今天看大规模分布式存储系统,看到双缓冲这一部分内容,加之之前项目中应用到双缓冲思想,故总结双缓冲知识如下,其中程序是参看stackoverflow的,具体网址找不到了,故未标注在参看文献中。简介 双缓冲区广泛应用于生产者/消费者模型。它是两个缓冲区。这两个缓冲区,总是一个用于生产者,另一个用于消费者。当两个缓冲区都操作完,再进行一次切换,先前被生产者写入的被消费者读取,先前消费者读取的转

2016-08-27 23:15:21 3481

原创 内存管理机制

内存机制C中内存机制 1) 栈:位于函数内的局部变量(包括函数实参),由编译器负责分配释放,函数结束,栈变量失效; 2) 堆:由程序员用malloc/calloc/realloc分配,free释放。如果程序员忘记free了,则会造成内存泄露,程序结束时该片内存会由操作系统回收; 3) 全局区/静态区:全局变量和静态变量存放区,程序一经编译好,该区域便存在。在C语言中初始化的全局

2016-08-15 22:44:14 769

原创 排序算法总结与实现

各种排序算法实现今天吃饭听同学说,百度面试,当场让写归并算法跪了,后天面试华为,今天晚上啥也不干,将所有排序算法复习一遍。排序简介排序即是将一个数据元素(记录)的任意序列,重新排列成一个按关键字有序的序列的过程。 排序按照记录所在位置分为:内部排序和外部排序。内部排序指待排序记录存放在内存;外部排序指排序过程中需对外存进行访问的排序。 依据排序的原则,排序又分为以下:插入排序、交换排序、选择排

2016-08-11 22:12:16 1059

原创 Liunx的启动流程、模块管理与Loader

启动流程、模块管理与Loader系统启动流程 1)加载BIOS的硬件信息与进行自我测试,并依据设置取得第一个可启动的设备; 2)读取并执行第一个启动设备内的MBR的boot Loader(即grub,spfdisk等程序); 3)依据boot loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序; 4)在硬件驱动成功后,Kernel会主动调用init进

2016-08-10 23:06:14 2733

原创 Linux日志文件总结

Linux日志文件总结近期做笔试题目,考察linux日志配置文件相关内容,由于对此不了解,故看鸟哥的私房菜中的认识与分析日志文件一章,总结如下相关信息。 日志文件可以记录一个时间的何时、何地、何人、何事四大信息,故系统出现故障时,可以查询日志文件。 系统的日志文件默认都集中放置到/var/log/目录内,其中又以message记录的信息最多。 日志文件记录的主要服务与程序为syslo

2016-08-10 15:53:49 6524

原创 STL算法使用

STL算法使用非变动性算法非变动算法既不改动元素次序,也不改动元素值。它通过Input迭代器和forward迭代器完成工作,故可作用于所有标准容器上。 for_each():对每个元素执行某操作 count():返回元素个数 count_if():返回满足某一准则条件的元素个数 min_element():返回最小值元素(以一个迭代器表示) max_element()

2016-08-08 19:24:51 658

原创 C++标准库中Strings字符串使用

C++标准库中Strings字符串使用字符串操作函数 构造函数:产生或复制字符串 析构函数:销毁字符串 =,assign():赋以新值 swap():交换两个字符串的内容 +=,append(),push_back():添加字符 insert():插入字符 erase():删除字符 clear():移除全部字符(使之为空) resize():改变

2016-08-08 16:41:06 948

原创 STL容器Maps和Multimaps使用

STL容器Maps和Multimaps使用简介map和multimap将key/value pair(键值/实值 对组)当做元素,进行管理。他们可根据key的排序准则自动将元素排序。multimaps允许重复元素,maps不允许。map和multimap的元素型别key和T,必须满足以下两个条件: key/value必须具备assignable(可赋值的)和copyable(可复制的)性质。

2016-08-07 19:52:57 894 4

原创 STL容器Set和Multisets使用

STL容器Set和Multisets使用简介set和multiset会根据特定的排序准则,自动将元素排序。两者不同指出是multisets允许元素重复而sets不允许。它们通常都是以平衡二叉树实现的。注意:由于set和multiset是自动排序的,故不能直接改变元素值,因为这样会打乱原本正确的顺序。故要改变元素值,必须先删除旧元素,再插入新元素。其提供的接口反映了这种行为: sets和multi

2016-08-07 18:12:27 947 2

原创 STL容器lists使用

STL容器lists使用简介list使用双向链表来管理元素。list内部结构与vector和deque截然不同,主要体现在以下几个主要方面,其区别如下: lists不支持随机存取。如果要读取某个元素,需要从头顺序遍历元素,找到对应位置,然后进行读取。 任何位置上(不只是两端)执行元素的安插和一尺都非常快,始终都是常数时间内完成,因为无需移动任何其它元素。实际上内部只是进行一些指针操作。

2016-08-07 17:15:10 751

原创 STL容器deque使用

STL容器deque使用deque简介deque与vector非常相似。它也采用动态数组来管理元素,提供随机存取,并有着和vector几乎一模一样的接口。不同的是deque的动态数组头尾都开放,因此能在头尾两端进行快速安插和删除。与vector相比,deque功能上的不同在于: 两端都能快速安插元素和移除元素(vector只在尾端插入)。这些操作可以在分期摊还的常数时间内完成。 存取元素时

2016-08-07 15:55:55 904

原创 STL容器vector使用

STL容器vector使用vector利用动态数组实现。vector中主要涉及的操作函数如下:构造、拷贝和析构操作 vector c:产生一个空vector,其中没有任何元素。 vector c1(c2):产生另一个同型vector的副本(所有元素都被拷贝) vector c(n):利用元素的default构造函数生成一个大小为n的vector vector c(n, ele

2016-08-07 15:24:14 777

Adaboost算法实现

该Adaboost算法用C++实现的基本Adaboost算法,对于初学Adaboost算法和理解Adaboost算法的学生有一定的帮助!如发现我代码中存在错误或不足,欢迎指正,谢谢!

2015-11-02

缓冲区溢出实验报告

本文档是关于缓冲区溢出实现的整个流程,对做缓冲区溢出有一定的帮助

2015-08-26

剑指offer程序

此程序为剑指offer程序,便于找工作的小伙伴的复习~

2017-01-04

空空如也

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

TA关注的人

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