自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 面试题31-------连续子数组的最大和(数组)

题目:求连续子数组的最大和,例如{1,-2,3,10,-4,7,2,-5},返回18(3,10,-4,7,2);代码解决#include<stdio.h>int s[8] = {1,-2,3,10,-4,7,2,-5};void dp(){ int b=0,Max = 0x80000000; for(int x=0;x<8;x++){ ...

2018-02-25 14:11:46 346

原创 面试题3-------二维数组中的查找(数组)

题目 在一个二维数组中,每一行从左到右递增,每一列从上到下递增。判断数组中是否含有某个数。代码解决#include<stdio.h>int s[4][4] = {{1,2,8,9}, {2,4,9,12}, {4,7,10,13}, {6,8,11,15}};void Find...

2018-02-25 11:25:09 214

原创 面试题45-------圆圈中最后剩下的数字(数字)

题目:0,1,2,n-1组成一个圆圈,每次删除第m个数字,求出最后剩下的数字。代码解决#include<stdio.h>int yuesefu(int m,int n){ int index = 0; for(int x=1;x<n;x++){ index = (index + m) % (x+1); } print...

2018-02-24 17:39:10 201

原创 面试题10-------二进制中1的个数(数字)

题目 求出二进制中1的个数代码解决#include<stdio.h>void countbit1(int x){ int sum = 0,temp = x; while(x){ sum++; x = x - (x&(-x)); } printf("%d 中含有 %d 个 1 \n",temp,sum...

2018-02-24 17:24:30 291

原创 面试题38-------数字在排序数组中出现的次数(数组)

题目:统计一个数字在排序数组中出现的次数,例如 {1,2,3,3,3,3,4,5},3 出现了4次 。代码解决#include<stdio.h>int s[8]={1,2,3,3,3,3,4,5};int findfirst(int x){ int left = 0, right = 7; while(left <= right){ ...

2018-02-24 17:11:17 167

原创 面试题40-------数组中只出现一次的数(数组)

题目:一个整型数组里除了两个数字之外,其它的数字都出现了两次。找出这两个数字。例如数组:{2,4,3,6,3,2,5,5} 返回6和4代码实现#include<stdio.h>int s[8]={2,4,3,6,3,2,5,5};int main(){ int temp = 0; for(int x=0;x<8;x++) temp^=s[x...

2018-02-24 16:49:25 215

原创 POSIX共享内存-------共享计数器

问题描述父子进程共享一个计数器,每次父进程或子进程可以给计数器加一。简单实现#include<iostream>#include<unistd.h>#include<stdio.h>#include<sys/wait.h>using namespace std;struct Shared{ int count;...

2018-02-13 11:37:06 390

原创 POSIX信号量-------多个生产者&单个消费者

问题描述有多个线程:多个生产者线程和一个消费者线程程共享一个初始为空、固定大小为maxbuf的缓存(缓冲区)。多个生产者的工作是向缓冲区中存数据,只有缓冲区没满时,每次只能选择一个生产者把消息放入到缓冲区,否则必须等待,如此反复; 同时,只有缓冲区不空时,消费者才能从中取出消息,一次消费一个数据(即将其从缓存中移出),否则必须等待。由于缓冲区是临界资源,它只允许一个生产者放入消息,或者一个消费...

2018-02-12 11:32:55 796

原创 Linux内核-------同步机制(二)

信号量的分类内核信号量,由内核控制路径使用用户态进程使用的信号量,这种信号量又分为POSIX信号量和SYSTEM V信号量。POSIX信号量又分为有名信号量和无名信号量 。有名信号量,其值保存在文件中, 所以它可以用于线程也可以用于进程间的同步。无名信号量,其值保存在内存中。信号量操作P(sv):如果sv的值大于零,就给它减1;如果它的值为零,就挂起该进程的执行V(sv):...

2018-02-10 12:21:28 269

原创 POSIX信号量-------单个生产者&单个消费者

问题描述有两个线程:一个生产者线程和一个消费者线程程共享一个初始为空、固定大小为maxbuf的缓存(缓冲区)。生产者的工作是向缓冲区中存数据,只有缓冲区没满时,生产者才能把消息放入到缓冲区,否则必须等待,如此反复; 同时,只有缓冲区不空时,消费者才能从中取出消息,一次消费一个数据(即将其从缓存中移出),否则必须等待。由于缓冲区是临界资源,它只允许一个生产者放入消息,或者一个消费者从中取出消息。...

2018-02-08 15:41:04 360

原创 TCP/IP协议-------概述

TCP/IP协议TCP/IP是一系列协议的集合,称之为协议族(Protocol Family),这个协议族包含了IP协议,TCP协议,UDP协议,HTTP协议,STMP协议POP协议等等。可能是因为TCP和IP是该协议族中最重要的两个协议,因此将其命名为TCP/IP。网络分层网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如 T C P / I P,是一...

2018-02-08 13:28:00 362

原创 503. Next Greater Element II(单调栈)

https://leetcode.com/problems/next-greater-element-ii/description/题目: 给一个循环数组,返回一个等长的数组,数组中的每一个元素是:它后面的第一个大于它的元素(如果后面没有就循环一遍到最前面找,直到循环了一圈为止),如果不存在这样的数,就返回-1~思路:首先建立一个等长的vt数组,起始都是-1。这个题目要两个循环解决,

2018-02-06 16:53:35 519

原创 739. Daily Temperatures(单调栈)

https://leetcode.com/problems/daily-temperatures/description/题目:给出一个数组,对每个位置,在当前位置后面找出最近的比当前位置大的数,求出位置差。思路:维护一个值单调递减的栈(栈中的元素是数组元素的下标),当前元素大于栈顶元素,将栈顶元素出栈,直到栈空或者当前元素小于栈顶元素为止。在结果数组中记录结果(当前下标减去栈顶元素)。更

2018-02-06 16:35:56 239

原创 461. Hamming Distance(异或)

https://leetcode.com/problems/hamming-distance/description/ 题目:将两个二进制数比较,输出不同位数的个数思路:异或运算class Solution {public: int hammingDistance(int x, int y) { int sum = 0; for(int z=

2018-02-03 13:03:26 124

原创 200. Number of Islands(BFS)

https://leetcode.com/problems/number-of-islands/description/题目:求岛屿的数目,所有相连的1构成一个岛屿。思路:BFSclass Solution {public: int sum = 0; void BFS(vectorvectorchar>>& grid,int x,int y){ int

2018-02-03 12:35:22 480

原创 POSIX 线程-------线程库

创建缺省线程如果未指定属性对象,则该对象为 NULL,系统会创建具有以下属性的缺省线程: ■ 进程范围 ■ 非分离 ■ 缺省栈和缺省栈大小 ■ 零优先级pthread_create语法使用 pthread_create() 可以向当前进程中添加新的受控线程。int pthread_create(pthread_t *tid, const pthread_attr_t...

2018-02-02 17:53:00 305

原创 526. Beautiful Arrangement(dfs)

https://leetcode.com/problems/beautiful-arrangement/description/题目: 假设你有1到N的N个整数,我们定义如果这N个整数可以组成数组后每第 i 位(1 ≤ i ≤ N)都满足下面两个要求之一就称其为漂亮的安排: 第 i 个位置的数字可以被 i 整除。 i 可以被第 i 个位置的数字整除。 现在给出N,你可以组成多少种漂亮的

2018-02-02 15:08:54 188

原创 162. Find Peak Element(二分)

https://leetcode.com/problems/find-peak-element/description/题目:给定一个整型数组,从中找出某一个元素,使得该元素比其左右元素都大,求该元素在数组中的位置。4代码一:直接求解class Solution {public: int findPeakElement(vectorint>& nums) {

2018-02-02 14:27:26 648

原创 66. Plus One(大数)

https://leetcode.com/problems/plus-one/description/题目:给数组表示的整数加一思路:大数加法class Solution {public: vectorint> plusOne(vectorint>& digits) { int y = 1; for(int x=digits.size(

2018-02-02 13:03:22 224

原创 287. Find the Duplicate Number(数组)

https://leetcode.com/problems/find-the-duplicate-number/description/题目:求出数组中出现多次的数字,数组大小为n+1,数组元素都是1-n之间的整数且只有一个数字重复出现。思路:交换的方法。比如 [2,1,1]当前下标 对应元素 操作 数组0 2

2018-02-02 10:57:41 207

原创 695. Max Area of Island(BFS)

https://leetcode.com/problems/max-area-of-island/discuss/题目:求出最大的相邻的1的个数思路:BFSclass Solution {public: int BFS(vectorvectorint>>& grid,int x,int y){ int lenx = grid.size() ,leny = gr

2018-02-01 19:57:32 140

原创 485. Max Consecutive Ones(数组)

https://leetcode.com/problems/max-consecutive-ones/description/题目:求出最大的连续1的个数思路:直接求解class Solution {public: int findMaxConsecutiveOnes(vectorint>& nums) { int max = 0,index = 0;

2018-02-01 19:14:29 119

原创 Linux内核-------同步机制(一)

一,介绍在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实像多进程多线程编程一样也需要一些同步机制来同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制来同步不同处理器上的执行单元对共享的数据的访问。在主流的Linux内核中包含了几乎所有现代的操作系统具有的同步机制,这些同步机制包括:原子操作、信号量(semaphore)、读写信号量(rw_semapho...

2018-02-01 19:11:52 342

空空如也

空空如也

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

TA关注的人

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