自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (2)
  • 收藏
  • 关注

原创 [玩转算法]滑动窗口

209.Minimum Size Subarray Sum给定一个整型数组和一个数字s,找到数组中最短的一个连续子数组使得连续子数组的数字和sum >= s,返回这个最短的连续子数组的返回值。·如,给定数组[2,3,1,2,4,3],s = 7·答案为[4,3],返回2暴力解:遍历所有的连续子数组[i,j]计算其和sum,验证sum=s;时间复杂度O(n^3)什么方法时间复杂度可以优化为O(n^2)3.Longest Substring Without Repeating Charac

2017-08-14 14:15:04 1164

原创 [玩转算法]对撞指针

167 Two Sum II - Input array is sorted给定一个有序整型数组和一个整数target,在其中寻找两个元素,使其和为target。返回这两个数的索引。-如numbers = [2,7,11,15],target = 9;-返回数字2,7的索引1,2(索引从1开始计算)-如果没有解怎么样?保证有解-如果有多个解怎样?返回任意解125.Valid Palindrome给定一个字符串,只看其中的数字和字母,忽略大小写,判断这个字符串是否为回文串?·“A man,

2017-08-12 15:05:02 2241

原创 [玩转算法]基础算法思路的应用

基础算法思路的应用75.Sort Colors给定一个有n个元素的数组,数组中元素的取值只有0,1,2三种可能。为这个数组排序。·可以使用任意一种排序算法·没有使用上题目给出的特殊条件计数排序:分别统计0,1,2的元素的个数88.Merge Sorted Array给定两个有序的整型数组nums1,nums2,将nums2的元素归并到nums1中215.Kth Largest Element in an Array在一个整数序列中寻找第k大的元素如给定数组[3,2,1,5,6,4],

2017-08-10 18:57:29 690

原创 [玩转算法]数组问题

排序:选择排序;插入排序;归并排序;快速排序查找:二分查找法数据结构:栈;队列;堆…… 如何写出正确的程序明确变量的含义循环不变量小数据量调试大数据量测试 leetcode283.Move Zeros问题给定一个数组nums,写一个函数,将函数中所有的0挪到数组的末尾,而维持其他非0元素的相对位置.举例:nums = [0,1,0,3,12],函数运行后结果为[1,3,12,0,0]Remove Element给定一个数组nums和一个数值val,将数组中所有等于val的元

2017-08-10 14:52:52 614

原创 [Linux C编程]网络通信

简述TCP/IP各层的作用(1)网络接口层(Network Interface Layer):网络接口层是TCP/IP协议软件的最底层,负责将二进制流转换为数据帧,并进行数据帧的发送和接收。数据帧是网络传输的基本单元(2)网络层(Internet Layer)网络层负责在主机之间的通信中选择数据报的传输路径,即路由。当网络层接收到传输层的请求后,传输某个具有目的地址信息的分组。该层把分组封装在IP数据报中,填入数据报的首部,使用路由算法来确定是直接交付数据报,还是把它传递给路由器,然后把数据报交给适当的

2017-08-08 15:08:18 4587 2

原创 [Linux C编程]数据库

1.有哪些常用的数据库,请分别介绍一下。目前有许多数据库产品,如Oracle、SQL Server、DB2、MySQL 、Access,SQLite3等产品各以自己特有的功能,在数据库市场上占有一席之地。(1)Oracle是1983年推出的世界上第一个开放式商品化关系型数据库管理系统。它采用标准的SQL结构化查询语言,支持多种数据类型,提供面向对象存储的数据支持,具有第四代语言开发工具,支持Unix、Windows NT、OS/2、Novell等多种平台。除此之外,它还具有很好的并行处理功能。Oracl

2017-08-08 14:59:11 966

原创 [Linux C编程]多线程

1.进程与线程的区别:1)进程是程序的一次执行,是资源分配的最小单位,线程可以理解为进程中执行的一段程序片段,是CPU调度的最小单位;2)进程间是独立的,一个程序崩溃后,在保护模式下不会对其他进程产生影响。同一进程所产生的线程共享同一内存空间,一个线程挂掉会导致整个进程挂掉;3)同一进程中两段代码不能同时执行,除非引入线程;、线程所占用的资源要少于进程所占用资源;4)进程间可以通过IPC通信,但线程不可以。

2017-08-08 14:55:13 492

原创 [Linux C编程]进程间通信

1.管道有什么特点?管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道的头部读出数据。数据被一个进程读出后,将被从管道中删除,其它读进程将不能再读到这些数据。管道提供了简单的流控制机制,进程试图读空管道时,进程将阻塞。同样,管道已经满时,进程再试图向管道写入数据,进程将阻塞2.无名管道与有名管道的区别?无名管道:用于父进程和子进程间的通信有名管道:用于运行同一系统中的任意两个进程间的通信。

2017-08-08 14:52:06 816

原创 [Linux C编程]进程控制

1.什么是进程?进程是一个具有一定独立功能的程序的一次运行活动,同时也是资源分配的最小单元2.进程与程序的区别?·程序是放到磁盘的可执行文件进程是指程序执行的实例·进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁 移;而程序通常对应着文件、静态和可以复制。·进程是暂时的,程序是长久的:进程是一个状态变化的过程,程序可长久保存。·进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)·进程与程序的对应关系:通过多次执行,一个程

2017-08-08 14:47:05 559

原创 [Linux C编程]文件操作

1.什么是系统调用? 所谓系统调用是指操作系统提供给用户的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务。2.为什么用户程序不能直接访问系统内核提供的服务呢? 由于在Linux中,为了更好地保护内核空间,将程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,在逻辑上是相互隔离的。 因此,用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用用户空间的函数。3.什么是文件?li

2017-08-08 14:38:38 708

转载 Linux笔试面试题及答案

一 填空题:1. 在Linux系统中,以 文件 方式访问设备 。2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。3. Linux文件系统中每个文件用 i节点 来标识。4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。5. 链接分为: 硬链接 和 符号链接 。6. 超级块包含了i节点表 和 空闲块表 等重要的文件系统信息。7. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是

2017-08-07 11:20:10 7298 1

原创 Git公钥生成及后续问题解决

因为博主使用的Ubuntu昨天莫名其妙出现故障,终端消失在搜索无果后,选择重启Ubuntu,结果ubuntu彻底崩了,只出现桌面背景,没有图标,在进入控制台设置多次无果后,博主选择重新安装ubuntu.在更改完中文环境,安装好中文输入法后,最大的问题来了,要进行配置我的git仓库coding.net,在一开始git init ,git push -u origin master,git add hello.c,git commit -m “注释”以后,git push提示我:Permission deni

2017-08-05 10:42:37 4561

转载 Hanoi塔问题

上图为 3 阶 Hanoi 塔假设有三个命名为 A B C 的塔座 ,在塔座A上插有n个直径大小不相同,由小到大编号为1 ,2 ,3 ,··· ,n的圆盘,要求将A座上的圆盘移至塔座C并按同样的顺序叠排圆盘移动必须遵守下列规则:1:每次只能移动一个圆盘 2:圆盘可以插在任意一个塔座上 3:任何时刻都不能将一个较大的圆盘放在一个较小的圆盘上 该问题的复杂性:若有n个盘子,則移动完所需之次数为2^n - 1,所以当盘数为64时,则所需次数为: 2^64 - 1 = 18446

2017-08-03 12:27:06 709

转载 腾讯笔试题

1、解释const的含义及实现机制const的含义及实现机制,比如:const int i,是怎么做到i只可读的?答:const用来说明所定义的变量是只读的。这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。2、买200返100优惠券,实际上折扣是多少?到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?答:由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。假设开始时花了x元,那么可以买到 x + x/

2017-08-03 10:44:22 531

转载 想成为嵌入式程序员应知道的0x10个基本问题

C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCII值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机上而不是在

2017-08-03 10:16:49 722

原创 排序算法

排序算法一、插入排序——直接插入排序(Straight InsertionSort)基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。要点:设立哨兵,作为临时存储和判断数组边界之用。如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列出去的顺序就是排好序后的顺序,所以插入排序是稳定的。算法实现:

2017-08-01 17:17:44 521

原创 [牛客网]错题整理(8)

(1)只能使用成员函数重载的运算符有:=、()、[]、->、new、delete。(2)单目运算符最好重载为成员函数。(3) 对于复合的赋值运算符如+=、-=、*=、/=、&=、!=、~=、%=、>>=、<<=建议重载为成员函数。(4) 对于其它运算符,建议重载为友元函数。运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算。也就是说,运算符重载是通过定义函数实现的。运算符重载实质上是函数的重载。重载运算符的函数一般格式如下:函数类型 op

2017-08-01 10:03:02 586

Unix网络通信卷1+卷2

Unix网络通信卷1+卷2进程间通信全!

2017-08-07

通讯录(C++版本)

C++实现的简单通讯录,使用了vector容器,迭代器等,希望对大家有参考意义~

2017-02-13

空空如也

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

TA关注的人

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