自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CodingGirl的专栏!

天才,就是持续不断的忍耐!

  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 Leetcode 382. Linked List Random Node 以及 水塘抽样算法

题目:http://blog.csdn.net/javastart/article/details/50610868Given a singly linked list, return a random node's value from the linked list. Each node must have the same probability of being chose

2017-03-12 23:16:21 552

原创 Unix环境高级编程阅读之一——Unix\Linux基础知识

所有的操作系统都为它们所运行的程序提供服务。典型的服务包括:执行新程序、打开文件、读文件、分配存储区以及获得当前时间等。UNIX体系结构示意图操作系统是用来控制计算机的硬件资源,提供程序运行环境。其中,内核的接口被称为是系统调用,公用函数库构建在系统调用之上,应用程序既可以使用公共函数库,也可以使用系统调用。shell是一个特殊的应用程序,它为其他应用程序提供了一个接口。

2016-10-31 18:01:11 779

原创 金典之数组与字符串

题目:确定一个字符串的所有字符是否全都不同。假设不许使用额外数据结构,又该如何处理?思路:在面试官发问之后,应首先学会提问:1,什么样的字符串?2,字符串长度大约有多大?机器是否可以容纳?若得到回复:字符皆是ASCLL码,且机器可以容纳无虞。那么对于题目的第一问,我的想法是使用一个长度为256的数组来计数,若没有字符的个数超过1,则说明所有字符全都不同,否则,则是有字符出现重复。也

2015-12-04 16:09:35 458

原创 Just For Fun:智力题【2】

1, 有12个球,考智力有12个球,其中一个是坏球.不知道坏球比其他球重还是轻.给你一个无砝码的天枰.要求称三次称出那个坏球,问如何称?并确定是轻是重。 解答:分成三组,每组四个球,分别编号为1234,5678,9ABC。 设有问题的球为x。 第一次称:首先取1234 和 5678 称量。 (1)如果平衡,则x在9ABC中。第二次称:ABC和123。①若平衡,则9是x,需要第三次称量来判断

2015-11-03 09:48:36 549

原创 笔试题目易错点(一)

1、如果类的定义如下,则以下代码正确并且是良好编程风格的是()A、std::auto_ptr pObj(new Object);B、std::vector> object_vector;C、std::auto_ptr pObj(new Object);D、std::vector> object_vector;解答:A。auto_ptr不能被放置在容器中,因为auto_ptr

2015-10-30 09:32:48 641

原创 我所熟悉的C++智能指针auto_ptr vs shared_ptr (二)

鉴于auto_ptr 所出现的无法复制,且不能满足标准容器对元素的要求,所以boost库中提供了一种新型的智能指针 shared_ptr,它通过引用计数(reference counting)的原理,解决了多个指针之间共享对象所有权的问题,可以被自由地拷贝和赋值,在任意的地方共享它,当没有代码使用(引用计数为0)它时才删除被包装的动态分配的对象。 shared_ptr也可以安全地放到标准容器中,并

2015-10-28 10:46:01 937

原创 我所熟悉的C++智能指针auto_ptr vs shared_ptr (一)

在开发过程中,曾经使用过两种C++的智能指针,如今,便总结一下,顺便比较比较二者使用中的区别,注意避免入坑的危险。:-D我们知道,在C++中,如果创建一个指向某个对象的指针,那么在使用完这个对象之后我们需要自己delete它。否则,会造成一个悬垂指针(dangling pointer),非常容易造成内存泄漏。事实上,如果在使用指针的同时,程序运行抛出异常,那么所指向的对象仍然不会被安全

2015-10-28 09:24:43 2279

转载 C++中的容器类详解

C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。vector 连续存储结构,每个元素在内存上是连续的;支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操作效率低下;

2015-10-27 09:52:45 1364

原创 C++ STL相关知识及容器使用要点

关于STL的一些东东:1,除了引用类型,所有内置或复合类型都可用作容器的元素类型。因为引用不支持一般意义上的复制运算。 可以被作为容器的元素的类型,必须具有以下两点特征: (1)可赋值; (2)可复制。 2,容器类型分类: (1)顺序类型:vector , list , deque , stack(容器适配器) , queue(容器适

2015-10-26 10:46:59 462

原创 借助STL实现一些常用的C++的几种字符串处理函数

【1】 string_trim : 去除字符串首尾的空格#include <iostream>#include <string>std::string string_trim(const std::string& str){ std::string::size_type pos_first = str.find_first_not_of(' '); if (pos_first

2015-10-12 10:38:10 536

原创 leetcode挨个儿刷150515(10):Search in Rotated Sorted Array

题目内容:Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search. If found in the

2015-05-15 14:21:52 388

原创 leetcode挨个儿刷150514(9):Remove Duplicates from Sorted Array II

题目内容:Follow up for "Remove Duplicates":What if duplicates are allowed at most twice?For example,Given sorted array nums = [1,1,1,2,2,3],Your function should return length = 5, with the

2015-05-14 19:57:10 430

原创 leetcode挨个儿刷150514(8):Remove Duplicates from Sorted Array

题目内容:Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra space for another array, you must do this in

2015-05-14 19:24:03 393

原创 leetcode挨个儿刷150507(7):Plus One

超级简单的一道题,就是把一个整数加上一,只是这个整数是保存在vector里面的。注意的是最高位存在第0个位置。可是这个题这么简单,我还错,真是醉了!!!不过,一边实习上班,一边抽代码运行的空隙里刷道题确实也是分心了,哎。题目:Given a non-negative number represented as an array of digits, plus one t

2015-05-07 17:46:33 435

原创 其他笔试题:字符串的循环右移

编写一个函数,实现将char型的字符串循环右移n个位置。比如,原来是"abcdefghi",如果n=2,则移位后将变为"hiabcdefg"。如下,实现了函数LoopMove,并编写测试程序来验证其正确性,在DevCpp中实现。其算法复杂度为O(n)。#include #include #include #include using namespace std;void L

2015-05-05 21:46:31 538

原创 leetcode挨个儿刷150430(6):Median of Two Sorted Arrays

今天这道题在Leetcode标注的是hard,但是我觉得超级简单。很可能是自己的思路还有问题,或者复杂度还有问题吧。不过目前是满足题目要求了。后续还需要思考一下,怎么样继续优化它。加油。题目内容:There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the

2015-04-30 20:28:03 471

原创 leetcode挨个儿刷150429(5):Longest Substring Without Repeating Characters

题目内容:Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for "abcabcbb" is "abc", which the length i

2015-04-29 22:27:46 420

原创 leetcode挨个儿刷150428(4):Add Two Numbers

题目详情: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 as

2015-04-28 21:21:41 501

原创 leetcode挨个儿刷150428(3):Two Sum

题目: Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the target, w

2015-04-28 20:23:03 420

原创 剑指offer:面试题三:二维数组中的查找

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。#include #include using namespace std;bool Find(int matrix[],int rows,int columns,int row,int column,int num

2015-03-13 22:27:39 681 1

原创 剑指offer:面试题二:单例模式的实现(使用C++语言)

#include #include #include #include using namespace std;//实现Singleton模式//设计一个类,我们只能生成该类的一个实例。class Singleton{ public: static Singleton * getInstance() {

2015-03-13 22:14:39 1624

原创 剑指offer:面试题一:赋值运算符函数

#include #include #include #include using namespace std;//需要关注的:1,是否把返回值声明为引用(因为有连续赋值的可能性)// 2,传入参量应被声明为常量引用,若不是引用,则会引发拷贝构造函数的调用,使得效率降低。 // 3,是否释放实力自身已有的内存。//4,是否判断正在赋值的变量和传入参数是同一个实例。否则,释放会带来重

2015-03-13 21:01:55 537

原创 二叉树的三种遍历方式的递归与非递归实现

春节快要到了,闲来无事,写写代码,在这篇博客中,主要针对二叉树的遍历,我实现了以下内容: - 二叉树先序的递归遍历代码 - 二叉树先序的非递归遍历代码 - 二叉树中序的递归遍历代码 - 二叉树中序的非递归遍历代码 - 二叉树后序的递归遍历代码 - 二叉树后序的非递归遍历代码- 其中,因为后序实现的思路比较复杂,我借鉴博客:http://www.cnblogs.com/dolphin05

2015-02-12 20:59:19 1152

原创 C++中的unordered_map,以及与STL中的map的比较

unordered_map是很早就知道的概念,但却一直没有认真去理解,单单以为它是Boost库里对map的实现,今天在做Leetcode的题目的时候,发现了使用它的优越性,索性翻开书,并查一查资料,把它大致搞个清楚,省的以后还要再查再找,浪费时间。希望会有帮助,Bless~~unordered_map是C++ Boost库中的内容,这里的unordered翻译成“无序”,但并不是完全的“无

2015-01-28 20:53:06 5093

原创 在Ubuntu上安装配置Git,并实现代码的提交和版本控制

都研究生了呢,才开始使用Github。真是不好意思,感觉在成长的过程中步伐实在太小,进步的太慢了!是在结合网上的教程和自己的经验,写一下安装并使用git的全过程,也算是实践一下啦,未来不远,敬请期待,加油!注册用户什么的就不用说了,你要使用github,必须首先有它的账号。下面就是主要的工作内容了。(一)Git安装和配置环节(1)安装git客户端sudo apt-g

2015-01-16 14:37:53 794

转载 leetcode难度及面试频率

转载自:LeetCode Question Difficulty Distribution1Two Sum25arraysortsetTwo P

2015-01-06 14:38:17 641

原创 leetcode挨个儿刷150105(2):Remove Nth Node From End of List

这个题做完了不仅对自己的粗心表示深深地痛心,这么简单的一道题,还提交了几次,就因为自己脑卡了,起初把结点p作为head结点的前一个节点,后面在统计结点个数的时候,居然把它当做自由结点,移动了,怪不得结果一直不对呢。忽然想起了很久很久以前,听一个学长分享自己的代码刷题经验的时候说道,我们在写程序时,一定要想好了,什么是可以改变的,什么是不能变的,再去写,不要匆匆忙忙,不然调试将是一件非常痛苦的事

2015-01-05 21:27:22 475

原创 leetcode挨个儿刷150105(1):Merge Two Sorted Lists

随着找工作的日期一天天的逼近,是时候在科研之余写一写面试题中可能出现的代码了,虽然说经常看开源框架的代码,在面对这些简短的题目时还是感觉有点儿难度,好在题目不多,索性从最简单的做起来呗,加油!争取每周做五个,每周末来个总结吧。Long Way To Go!No1:  https://oj.leetcode.com/submissions/detail/17943308/Merge tw

2015-01-05 19:43:11 525

转载 windows环境下使用gcc

原文地址:http://blog.csdn.net/u011608357/article/details/23524785经试验,一切OK,可以正常使用。windows环境下使用gccMinGw是Minimal GNU on Windows的缩写,允许在GNU/linux和windows平台生成本地的windows程序而不需要第三方运行时库。本文主要介绍MinGw的安装和使

2014-12-12 15:28:54 444

原创 计算机硬盘基础知识

MBR(Master boot record)A master boot record (MBR) is a special type of boot sector at the very beginning of partitioned computer mass storage devices like fixed disks or removable drives intended fo

2014-07-06 20:45:34 678

原创 名词集合:别被纷繁复杂的网络名词搞昏头

渐渐课堂上学习完计算机网络NAT       NAT(Network Address Translation,网络地址转换)是将IP数据包头中的IP 地址转换为另一个IP 地址的过程。在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用IP地址空间的枯竭。在RFC 1632中有对N

2014-06-27 11:25:50 882

原创 名词集合:我的Linux之路

发现自己虽然使用Linux好长时间,可是还是像个沙

2014-06-26 18:19:33 709

原创 计算机硬件知识:ROM,PROM,EPROM,EEPROM,Flash memory的区别

ROM 指的是“只读存储器”,即Read-Only Memory。这是一种线路最简单半导体电路,通过掩模工艺, 一次性制造,其中的代码与数据将永久保存(除非坏掉),不能进行修改。这玩意一般在大批量生产时才会被用的,优点是成本低、非常低,但是其风险比较大,在 产品设计时,如果调试不彻底,很容易造成几千片的费片,行内话叫“掩砸了”! PROM 指的是“可编程只读存储器”既Programmable 

2014-06-19 11:35:50 3412

原创 大话数据结构——读书笔记(2)

第三章 线性表:零个或多个数据元素的有限序列。线性表特点:(1)序列:元素之间有顺序;(2)第一个无前驱;(3)最后一个无后继;(4)其余每个都有且只有一个前驱和后继。(5)有限。线性表的操作:(1)置空操作(2)查找操作(3)获得线性表长度(4)插入和删除操作ADT ListDataOperationInitList (* L); //初始化操作,建立一个空的线性表L

2014-06-12 18:00:03 844

原创 计算机硬件常识:RAID以及硬RAID和软RAID的区别

磁盘阵列(Redundant Arrays of independent Disks,RAID),有“价格便宜具有冗余能力的磁盘阵列”之意。原理是方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能利用同位

2014-06-12 10:13:53 890

原创 记录生活——2014年5月28日晚

昨天晚上和林同学拌了两句嘴,觉得自

2014-05-29 17:58:42 796 1

转载 tar 命令详述 (转)

tar1. 作用  tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。2. 格式  tar [主选项+辅选项] 文件或目录3. 主要参数使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。3.1 主选项:-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择

2014-05-28 17:47:43 802

原创 在Linux(fedora 20)上解压缩rar文件

首先,说一下扩展名为.rar的文件是神马

2014-05-28 17:43:45 1553

转载 linux下如何用GDB调试c++程序

GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能:启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。

2014-05-28 13:35:15 523

原创 C++语言中 关键字typedef的作用及其使用规则

在C++中,有一个关键字typedef,它主要是把一种数据类型定义为某一个标识符。在程序员之后的程序开发中可以直接应用这一标识符来实现相应数据类型变量的定义。       根据我的理解,它就是把一大长串的名字定义简化成程序员自己定义的一小撮名字,来提高编程的速度,同时从某个角度来说,实现了代码的隐藏。       以下,将对typedef的使用做一个简单的说明和整理:      

2014-05-28 11:23:32 855

完全用Linux工作(王垠)

个人很欣赏的一个人,他的看法或许偏激,但也有值得借鉴和学习的地方!加油!

2014-05-15

空空如也

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

TA关注的人

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