03 2018 档案

摘要:bigThree,注意拷贝构造函数的写法。 阅读全文
posted @ 2018-03-27 11:29 zqlucky 阅读(203) 评论(0) 推荐(0)
摘要:今天遇到很好的一个腾讯面试官,进一步探讨了伙伴算法,面试官非常nice,对伙伴算法的优缺点详细给我讲了一下,发现这个算法值得深入研究一波~ 看了很多资料,下面整理资料,然后谈谈自己的理解。 体会 Linux操作系统主要的内存分配算法是伙伴系统(Buddy算法),机制是按照2的幂次方进行分块,然后根据 阅读全文
posted @ 2018-03-27 11:00 zqlucky 阅读(1340) 评论(0) 推荐(0)
摘要:⾯向对象设计题考点: 1. 类设计 2. 接⼝设计 (侧重考察⾯向对象设计) 3. 实现⽅法设计 (侧重考察数据结构) 1、设计⼀个在线聊天系统 ?我们假定:1. ⼩规模⽤户2. 每个⼈有⾃⼰的好友列表3. 好友之间可以发送⽂字消息 功能分析:假定有以下功能1. ⽤户上下线2. 显⽰在线状态3. 添 阅读全文
posted @ 2018-03-27 10:33 zqlucky 阅读(159) 评论(0) 推荐(0)
摘要:第一题: 双指针: #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e6+7; int a[N]; int main() { int n,k; scanf("%d%d",&n,&k) 阅读全文
posted @ 2018-03-25 16:03 zqlucky 阅读(283) 评论(0) 推荐(0)
摘要:功能:能够实现+-*/运算。 思路:使用一个运算符栈和一个运算数栈,首先压入头部哨兵\n, 1)只要栈顶的符号的优先级小,就将当前运算符压栈; 2)栈顶优先级更高的话就将当前运算符出栈,如果是二目运算符就取出两个操作数,计算的结果压入操作数栈;当前运算符是左括号优先级最高,如果栈顶是左括号则优先级最 阅读全文
posted @ 2018-03-25 15:45 zqlucky 阅读(419) 评论(0) 推荐(0)
摘要:LFU: least frequently used (LFU) page-replacement algorithm https://leetcode.com/problems/lfu-cache/?tab=Description 题目描述 Design and implement a data 阅读全文
posted @ 2018-03-22 19:10 zqlucky 阅读(229) 评论(0) 推荐(0)
摘要:/* * * 面试题43:n个骰子的点数 * 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。 * 输入n,打印出s的所有可能的值出现的概率。 * */ #include #include using namespace std; const int max_val = 6; //核心,计算概率 //original为起始值,n个骰子起始值为n //current为当前骰... 阅读全文
posted @ 2018-03-20 23:22 zqlucky 阅读(282) 评论(0) 推荐(0)
摘要:题目:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少? 思路:股票交易的利润来自股票买入和卖出价格的差价,so股票的最大利润就是数组中所有数对的最大差价。 阅读全文
posted @ 2018-03-20 23:16 zqlucky 阅读(222) 评论(0) 推荐(0)
摘要:请从字符串中找出一个最长不含重复字符的子字符串,计算该最长子字符串的长度。例如字符串“arabcacfr”中,最长不含重复字符的子字符串是“acfr”,长度为4。 思路:cur当前最长,max全局最长;hash数组记录字符对应下标;遍历字符串,如果字符对应hash值小于0,说明字符未出现,cur直接 阅读全文
posted @ 2018-03-20 23:12 zqlucky 阅读(1079) 评论(0) 推荐(0)
摘要:题目:在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定价值(>0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格,直到到达棋盘的右下角。给定一个棋盘及其上面的礼物,请你计算你最多能拿到多少价值的礼物? 思路:典型的动态规划,在当前位置的收益等于左边及右边较大收益+加上 阅读全文
posted @ 2018-03-20 23:11 zqlucky 阅读(337) 评论(0) 推荐(0)
摘要:题目要求: 给定一个数字,按照如下规则翻译成字符串:0翻译成“a”,1翻译成“b”…25翻译成“z”。一个数字有多种翻译可能,例如12258一共有5种,分别是bccfi,bwfi,bczi,mcfi,mzi。实现一个函数,用来计算一个数字有多少种不同的翻译方法。 思路:递归,遍历数字的位,当前位翻译 阅读全文
posted @ 2018-03-20 23:00 zqlucky 阅读(781) 评论(0) 推荐(0)
摘要:数字按照0123456789101112131415161718192021…的顺序排列。第5位(从0开始计数)为5,第13位为1,第19位为4…… 求任意第n位对应的数字。 思路: 直观方法做枚举。每枚举一个数字的时候,求出该数字是几位数,并把数字的位数和前面的所有数字的位数相加。当累加的数位大于 阅读全文
posted @ 2018-03-20 22:20 zqlucky 阅读(507) 评论(0) 推荐(0)
摘要:给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],...,k[m].请问k[0]*k[1]*...*k[m]可能的最大乘积是多少? 例如,当绳子的长度为8时,我们把它剪成长度分别为2,3,3的三段,此时得到的最大乘积是18. 解题思路 阅读全文
posted @ 2018-03-20 20:33 zqlucky 阅读(479) 评论(0) 推荐(0)
摘要:八大排序算法 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速 阅读全文
posted @ 2018-03-20 13:36 zqlucky 阅读(825) 评论(0) 推荐(0)
摘要:1.二叉树的遍历算法 2、堆排序 循环版本: void siftdown(vector<int>& A, int i, int n) { while (1) { int l = 2 * i + 1; int r = 2 * i + 2; int smallest = i; if (l < n && 阅读全文
posted @ 2018-03-16 09:50 zqlucky 阅读(300) 评论(0) 推荐(0)
只有注册用户登录后才能阅读该文。
posted @ 2018-03-12 21:03 zqlucky 阅读(52) 评论(0) 推荐(0)
摘要:https://github.com/linw7/Skill-Tree/blob/master/Linux%E5%B7%A5%E5%85%B7.md 网上看了别人总结的。 Linux工具 Linux下还是有很多超棒的开发工具的。 在Linux日常使用中,最常用的命令自然是sudo, ls, cp, 阅读全文
posted @ 2018-03-01 19:12 zqlucky 阅读(577) 评论(0) 推荐(0)