6 小胡_uYou

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 6w+

笔试题整理1

1.给定一个环,每个点上都有数额不等的红包,不能同时拿相邻两个红包,请问最多能拿多少?     这题开始想的这不是典型的动态规划吗。然后做起来发现,有些不对,比如说取第一个,因为成环的关系,那么最后一个是注定不能取的。但是万一最后一个红包比较多呢?越想越复杂,后来想到,动态规划是后面的状态依赖于前面的状态,但此处,后面的状态(比如取最后一个)显然是对前面的状态有反过来的影响,所以不能用动态规划

2016-09-15 09:44:16

操作系统面试题总结

1、线程与进程的区别联系2、进程通信方式有哪些?3、同步的方式有哪些?4、ThreadLocal与其它同步机制的比较5、进程死锁的条件 第一题:(1)线程是进程的一个实体,一个进程可以拥有多个线程,多个线程也可以并发执行。一个没有线程的进程也可以看做是单线程的,同样线程也经常被看做是一种轻量级的进程。并且进程可以不依赖于线程而单独存在,而线程

2016-09-01 09:38:40

进程间通讯几种方式

进程通信的目的数据传输 一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间共享数据 多个进程想要操作共享数据,一个进程对共享数据通知事 一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。资源共享 多个进程之间共享同样的资源。为了作到这一点,需要内核提供锁

2016-08-11 16:22:17

分段,分页与段页式存储管理

一.  分页存储管理1.基本思想用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了离散分配。1)      等分内存页式存储管理将内存空间划分成等长的若干物理块,成为物理页面也成为物理块,每个物理块的大小一般取2的整数幂。内存的所有物理块从0开始编号,称作物理页

2016-08-10 10:50:46

链表常见题总结一

链表可以说是笔试面试的重点,因为写一个链表相关的题可以在短时间写出来,并且考验测试人的水平。特别将平时经常做的链表的题拿上来,做个小结。   1. 求单链表中结点的个数   2. 将单链表反转   3. 查找单链表中的倒数第K个结点(k > 0)   4. 查找单链表的中间结点   5. 已知两个单链表pHead1 和pHead2 各自有序,把它们合并成一个链表依然有序 

2016-08-09 21:51:50

TCP/IP常见面试题

1.OSI与TCP/IP各层的结构和功能,协议和作用。     OSI七层模型对应TCP/IP四层模型,只是分法不同而已。     应用层:提供应用层服务,文件传输(FTP),电子邮件(SMTP),  主要的协议还有HTTP(超文本传输协议),DNS,和telnet     表示层:用于数据格式化,代码转换,数据加密,没有协议     会话层:解除或建立与别的接点的联系,没有协议

2016-08-08 11:13:46

面试题67:机器人的运动范围

题目:地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?        这一题比上一题容易,用变相

2016-08-01 11:30:43

面试题66:矩阵中的路径

题目:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据

2016-08-01 10:29:19

面试题65:滑动窗口的最大值

题目:给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5

2016-07-31 16:19:08

面试题64:数据流中的中位数

题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。     考虑将流中的数据分为相同数量的两部分,也就是两个堆,一个堆中的数据全都小于另外一个堆,小一点的堆里作为最大堆,大一点的堆作为最小堆,这样这两个堆顶元素就与所求的中位数相关。class Sol

2016-07-30 21:52:48

面试题63:二叉搜索树的第K个节点

题目:给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val

2016-07-29 20:15:34

面试题62:序列化二叉树

题目:请实现两个函数,分别用来序列化和反序列化二叉树。这里没有规定序列化的方式。class Solution {public:    char* Serialize(TreeNode *root) {            if(!root) return "$";        string r = to_string(root->val);        r.push_

2016-07-29 17:12:56

面试题61:按之字形顺序打印二叉树

题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。     其实这题和之前的60题其实差不多,完全可以获得的正序的部分再逆序,但书上介绍了另一种方法,就按书上的写了。   struct TreeNode { int val; struct TreeNode *left;

2016-07-29 15:17:43

面试题60:把二叉树打印成多行

题目:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。   struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }

2016-07-28 20:19:50

面试题59:对称的二叉树

题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL),

2016-07-28 19:42:44

面试题58:二叉树的下一个节点

题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。代码如下:using namespace std;struct TreeLinkNode { int val; struct TreeLinkNode *left; struct TreeLinkNode *right;

2016-07-28 17:27:08

面试题57:删除链表中的重复节点

题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。     代码如下:struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x)

2016-07-28 16:49:35

面试题56:链表中环的入口节点

题目:一个链表中包含环,请找出该链表的环的入口结点。    这道题借助于前面的链表的倒数第K个节点的思想,考虑快慢指针。考虑当知道了链表的环中所含的节点数目,用一个快指针先走这么多个节点,再用慢指针,两个同时走,此时他们相遇的第一个节点就是链表的入口节点。下面问题就转换为求链表环的节点数目。    考虑链表是否成环,同样用快慢指针,当他们相遇的那个节点,肯定是环内的节点,再让它自己一步步走

2016-07-28 16:00:30

面试题55:字符流中第一个不重复的字符

题目:请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述::如果当前字符流没有存在出现一次的字符,返回#字符。这种题目我一般是采用一个map去记它的计数,书上是采用一个数组去计数,采用数组的好处是,在字符很多很多的情

2016-07-27 09:21:54

面试题54:表示数值的字符串

题目:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。    表示数值的字符串遵循:    [sign]intergal-digits[.[fractional-digits]][e|E[si

2016-07-26 22:07:45

查看更多

勋章 我的勋章
    暂无奖章