offergogo
offergogo
全部文章
未归档
C++(42)
C语言(1)
linux(18)
python(1)
剑指offer(2)
机器学习(1)
深度学习(1)
设计模式(1)
归档
标签
去牛客网
登录
/
注册
offergogo的博客
全部文章
/ 未归档
(共88篇)
链表面试题之链表分割
题目描述: 编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。 //分割链表,分成大于和小于x的两部分,且数据顺序不能改变 //...
2019-02-26
1
629
链表面试题之合并两个有序单链表
题目描述: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 解析: 首先先取得小的结点作为头结...
2019-02-26
0
452
链表面试题之输出链表中倒数第K个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点。 解析:一种变形的快慢指针。 首先将快指针向后移动K步,慢指针在head处不动。 然后让快慢指针同时移动,直到快指针移动到最后一个结点,则慢指针所在位置就是倒数第K个结点。 ListNode* FindKthToTail(List...
2019-02-26
0
415
链表面试题之给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点
题目: 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 1: 输入:[1,2,3,4,5] 输出:此列表中的结点 3 (序列化形式:[3,4,5]) 返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])...
2019-02-26
0
580
链表面试题之单链表逆置
题目:反转一个单链表 链表结构如下: struct ListNode { int val; struct ListNode *next; }; 方法一: 算法思想:用三个指针 n1 , n2 , n3 起初,n1指向头head,n2指向第二个结点,n3指向第三个结点;先让n1的ne...
2019-02-26
0
497
机器学习实战之K近邻算法总结
通过学习K近邻算法,自己总结了一些原理及注意点,记录一下。 1.K近邻算法的原理 k近邻法(k-nearest neighbor, k-NN)是1967年由Cover T和Hart P提出的一种基本分类与回归方法。它的工作原理是:存在一个样本数据集合,也称作为训练样本集,并且样本集...
2018-08-20
0
489
共享内存与信号量集结合使用的案例
前面说了共享内存有一些缺陷,无法达到进程同步的效果,然而将共享内存和信号量集结合使用,再加上锁的概念,就可以达到同步的结果。具体实现如下: 头文件:shmfifo.h #ifndef __SHMFIFO_H__ #define __SHMFIFO_H__ typedef struct shm_he...
2018-04-27
0
773
共享内存的实现详解
共享内存: 共享内存是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。 共享内存示意图: 共享内存数据结构: struct shmid_ds { struct...
2018-04-26
0
1014
多个客户端与服务器端发送消息案例
案例:用消息队列实现许多客户端和服务器端的通信,要求是,许多客户端都可以向服务器端发送消息,服务器端在接受这些消息之后,再将消息回发给对应的客户端。 解决思路:所有客户端都往1号通道上发送消息,并且在发送的内容的最前面放上自己进程的进程号,那么当服务器端收到中众多客户端发来的消息之后,通过解析主要内...
2018-04-23
0
443
linux下消息队列详解
消息队列提供了从一个进程向另外一个进程发送一块数据的方法,每个数据块认为有一个类型(通俗说法是一个通道),但是接受通道与发送通道必须一致才能实现通信。消息队列的不足之处在于每个消息最大长度有限度,每个消息队列总字节数有限制,系统的消息队列有限制。 命令: cat /proc/sys/kernel...
2018-04-23
0
668
首页
上一页
1
2
3
4
5
6
7
8
9
下一页
末页