自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dycparty的博客

一个菜的抠脚的1024

  • 博客(14)
  • 收藏
  • 关注

转载 进程/线程同步及通信

一、进程/线程间同步机制。临界区、互斥区、事件、信号量四种方式临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资

2017-04-04 17:09:18 199

原创 SQL联合索引

1):查询条件中出现联合索引第一列,或者全部,则能利用联合索引.2):条件列中只要条件相连在一起,以本文例子来说就是:last_name=’1′ and first_name=’1′与first_name=’1′ and last_name=’1′,无论前后,都会利用上联合索引.3):查询条件中没有出现联合索引的第一列,而出现联合索引的第二列,或者第

2017-04-04 16:06:47 2497

原创 有序链表合并&有序数组合并

1.两个有序链表时间复杂度最坏情况下为O(m+n),最好的情况下为O(min{m,n})。2.两个有序数组从后往前合并,从最后开始比较,时间复杂度O(m+n),假设第一个数组足够大,可以容纳合并后的数组,则复杂度为O(n)

2017-04-04 15:59:57 545

转载 三次握手和四次握手

三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。第一次握手:建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN_SEND状态,等待服务器的确认;第二次握手:服务器收到SYN报文段。服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置Acknowledgment Number为x

2017-04-03 21:35:35 270

转载 设计模式

几种常用的设计模式介绍1.    设计模式的起源最早提出“设计模式”概念的是建筑设计大师亚力山大Alexander。在1970年他的《建筑的永恒之道》里描述了投计模式的发现,因为它已经存在了千百年之久,而现代才被通过大量的研究而被发现。在《建筑的永恒之道》里这样描述:模式是一条由三个部分组成的通用规则:它表示了一个特定环境、一类问题和一个解决方案之间的关系。每一个模式描述了一个

2017-03-13 16:05:53 126

转载 fopen /open,read/write和fread/fwrite区别

fopen /open区别UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write这里简单的介绍一下他们的区别。1. fopen 系列是标准的C库函数;open系列是 POSIX 定义的,是UNIX系统里的system call。也就是说,fopen系列更具有可移植性;而open系列只能

2017-03-01 16:44:56 308

转载 c++ STL容器

1、顺序性容器(1)vector  vector是一种动态数组,在内存中具有连续的存储空间,支持快速随机访问。由于具有连续的存储空间,所以在插入和删除操作方面,效率比较慢。vector有多个构造函数,默认的构造函数是构造一个初始长度为0的内存空间,且分配的内存空间是以2的倍数动态增长的,即内存空间增长是按照20,21,22,23.....增长的,在push_back的过程中,若发现

2017-03-01 16:29:00 175

原创 LeetCode-371-Sum of Two Integers

题意:不使用+号和-号,完成两个数的加法。分析:通过异或操作和与操作完成,两位单独的位相加其结果可以用异或得到, 进位可以用与得到。int getSum(int a, int b) {          while(b)          {              int carry = a & b;              a = a ^ b;   

2016-11-17 15:33:10 190

原创 LeetCode-258.-Add Digits

题目:求各位数之和,直到只有1位为止,例如38,3+8=11,1+1=2。使用O(1)的算法Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has only one digit, return it.思路:digital root 12345 = 1 * 9999 + 2 * 9

2016-11-16 21:39:45 145

原创 LeetCode-292-Nim Game

题目:给你一堆石头n,双方都可以从中任意取1~3个,谁取到最后一个石头则获胜,从你开始先取,请问你能够获胜吗?分析:这是一道比较简单的博弈题,首先分析最后赢与不赢的情况,可以发现,若最后剩了4个石头,那么你一定无法获胜,那么对方只需要按照每次4-i的数目取石头,即可保证他能获胜,假如总共8个石头,你第一次取i个,对方取4-i个,则还会剩余4个,这样你就无法获胜。class Solution

2016-11-15 21:58:46 198

原创 LeetCode-3-Longest Substring Without Repeating Characters

求最长不重复字符子串长度,多次循环遍历的方法可以做,但是复杂度高就不考虑了,用hash的方法,一次遍历,在循环中用数组存储对应字符目前出现在的最远的位置,然后用当前位置减去不重复字符的起始位置,每次与最大值比较取较大的。#include#include#includeusing namespace std;int main(){char a[20];int b[28]=

2016-10-28 20:13:47 215

原创 LeetCode-9-Palindrome Number

要求不要用额外的空间判断一个数是否为回文数,一开始看见题有点蒙,不要额外空间怎么做。。。其实不开数组就可以,用变量进行反向的加乘运算,判断是不是与初始值相等,第一次wa了,没考虑负数,单独判断一下,负数都不是回文数class Solution {public:    bool isPalindrome(int x) {    if(x>=0){    int sum=0,tem

2016-10-28 20:09:59 188

原创 LeetCode-Add Two Numbers

简单的链表题,每个节点相加,若>10则进位,容易遗漏的是最后一个节点,如果需要进位,则要new一个节点public class ListNode {   int val;   ListNode next;   ListNode(int x) { val = x; } }public class Solution {    public ListNode addTwo

2016-10-27 10:16:54 133

原创 LeetCode-Two Sum

今天开始尝试了一下LeetCode,感觉整体格式要求比较规范,能培养规范的代码编写,而且非常注意细节,本来以为第一题非常水不需要编译直接提交也可以,用hash建立映射就可以,没想到看完答案才觉得要精益求精,力求占用最小的时间和空间,看来要学习的东西还很多。贴下题目和代码Given an array of integers, return indices of the two numbe

2016-10-26 20:27:18 287

空空如也

空空如也

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

TA关注的人

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