在线测试刷题
Zlase
这个作者很懒,什么都没留下…
展开
-
腾讯笔试题(选择)
题目:一个数从1开始,每次可以选择*2或者+1,那么这个数到达2018最少需要多少步?解答:把2018变成二进制0111 1110 0010每次*2相当于左移,+1相当于进1,所以从1变成0111 1110 0010的过程为16次。写在最后:Win系统下可以在【运行】下 calc.exe调出计算器.......原创 2018-04-08 17:06:00 · 389 阅读 · 0 评论 -
日常学习(2018.4.26)
1.C++的多态问题定义:指相同的对象收到不同的消息或者不同对象收到相同消息时产生的不同动作。多态分成:静态多态(编译时多态—函数重载和模板),动态多态(运行时多态—虚函数virtual允许子类重写这个函数(继承和派生))①模板:输入int a和b;double a和b,返还的c是不同的类型。template <typename T>T add(T a, T b){ t ...原创 2018-04-26 21:58:54 · 299 阅读 · 1 评论 -
新浪微博面试(2018.4.29)
实验室的同学新浪微博的面试,结果凉了....试题(倒序输出):有一个串用[ . ]分隔开各个单词,现在将[ . ]转换成[ - ]并进行倒叙输出。输入: abc.%%.123.ff输出:ff-123-%%-abc主要考察C++的STL库中的string的掌握情况,还是蛮简单的:定义a串,将输入的串存进a中;定义串b,开始遍历a,把a每次遇到 . 之前的单词存进b中;定义串c为输出串。#includ...原创 2018-04-29 12:22:54 · 1359 阅读 · 1 评论 -
2018.7.8 大疆图像处理工程师B卷
1.边缘检测滤波器一阶边缘滤波器:卷积核一侧都是正另一侧都是负。二阶边缘滤波器:中间为高,四周为-1或+1。如果在图像中检测到边缘并对其进行定位,那么对后续的算法将起到至关重要的作用。灰度的突然变化会在一阶导数中引起波峰或者波谷,或者在二阶导数中等效的引起零交叉。一阶微分Prewitt算子(卷积核如下):一阶微分Bobel算子(卷积核发生了变化):二阶微分Laplace算子: 2.快速排序,归并排...原创 2018-07-09 15:03:12 · 8310 阅读 · 5 评论 -
堆排序
#include <iostream>#include <vector>using namespace std;void HeapInsert(int *A,int index){ while(A[index]>A[(index-1)/2]) { swap(A[index],A[(index-1)/2]); index=(...原创 2018-07-11 17:54:37 · 226 阅读 · 0 评论 -
哈希算法
1.哈希表: 哈希表hashtable(key,value) 的做法其实很简单,就是把Key通过一个固定的算法函(哈希函数)转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value(实际的内容,有效的信息)存储在以该数字为下标的数组空间里。 而当使用哈希表进行查询的时候,就是再次使用哈希函数将key转换为对应的数组下标,并定位到该空间获取value,高...原创 2018-07-11 23:25:34 · 539 阅读 · 0 评论 -
KMP算法
写在本子上了,大致的思想是这样: 代码如下:#include <stdio.h>#include <iostream>#include <stdlib.h>#include <vector>using namespace std;int main(){ string str = "ABCABDABCABCD...原创 2018-08-30 11:30:00 · 216 阅读 · 0 评论 -
刷题:会议室问题
问题是从0-24小时,有人可以定会议室,但是会议室最后分配的准则是1.时间越长的越高优先级 2.之后是按照时间的先后排序。比如8-10点和9-13点的,会由9-13的点的申请成功。输入0,0的时候截止输入。输入示例:8,109,1113,150,0输出示例:8,1013,15 这个问题比较简单,但是有几个需要注意一下:1. 输入的用逗号隔开...很...原创 2018-09-08 21:55:36 · 1284 阅读 · 0 评论 -
i++的用法
1.右值和左值:右值指的是可以放在“=”右边的值,而左值就是放在左边的。左值要求是必须在内存中有明确的地址才可以被称为左值。2.i++和++ii++是先运算完成 ++后,i 的自身已经增加了1,但是对于原值返还的则是增加之前的数,它是右值。++i是运行完成++后,将运算后的结果返还回来,为左值。int i=0; j=++i; //j=1 j=i++; //j=0例题1: int a, ...原创 2018-04-25 21:47:47 · 7952 阅读 · 0 评论 -
滴滴一面(2018.4.25)
总之把这些乱七八糟的面试都写在上边为秋招做积累吧。 虽然一直想搞明白自己到底适合做算法还是做开发,但是问的问题都是基础....很奇怪,就当写个日记总结一下吧。1.有一个长度为1m的绳子,随机切成三段,问有多大的可能性,三段绳子能凑成三角形? 这是一个很经典的高中时期的线性规划的问题,首先三段绳子为 x,y,1-x-y。限定条件有 a.x+y<1 b.0<...原创 2018-04-25 13:26:59 · 391 阅读 · 0 评论 -
链家笔试题1(2018.4.8)
链家的笔试题:输入如下的数据,第一行为总行数,之后每一行的第一个数为这一行除它之外元素的个数。求后续元素有多少不同的值。输入:31 12 1 23 1 2 3输出:3考试的时候头大了,一着急就想用暴力法,结果直接GG,想的是把后续的数存在一个int型的数组里,再把这个数组排序,之后找出有多少不同的数,时间复杂度为O(n^2)而且还有几个O(n)的小部分,AC只有10%...就感觉很蠢....int...原创 2018-04-08 22:27:52 · 711 阅读 · 1 评论 -
链家笔试题2(2018.4.8)
题目:在迷迷糊糊的大草原上,小红捡到了n根木棍,第i根木棍的长度为i,小红现在很开心。 她想选出其中的三根木棍组成美丽的三角形。 但是小明想捉弄小红,想去掉一些木棍,使得小红任意选三根木棍都不能组成三角形。 请问小明最少去掉多少根木棍呢? 输入 本题包含若干组测试数据。 对于每一组测试数据。 第一行一个n,表示木棍的数量。 满足 1<=n<=100000 输出 输出最少数量 样例输入 ...原创 2018-04-09 16:28:10 · 655 阅读 · 0 评论 -
2018.4.3 美图笔试题
美图的笔试题还是相对简单一些的,先输入行数,之后输入两个数,依次相加,最后结果打印出来即可。输入:2 (2行)1 31111111111 222222222222输出:433333333333需要注意的是得写成循环型的,方便运行,还有输入的变量得是double型,保证输出这么多数不会溢出。#include <iostream>#include <vector>#i...原创 2018-04-03 21:44:55 · 550 阅读 · 0 评论 -
C++ string的用法
string的常见用法 通过:赋值、添加、比较和删除四个方面来比较1. string的赋值: str.assign( ) string str; str.assign("asdasd"); //两种赋值方式而已 string str_x = str; //赋值 string str1; str1.assign(str, 1, 4); //赋值一段 string str2;...原创 2018-04-30 11:06:31 · 207 阅读 · 0 评论 -
vector的常见用法总结
vector类似于数组,是采用连续内存的空间来存储元素。可以采用下标来对vector的元素进行访问,和数组一样高效。而且它克服了数组的缺点,可以动态的改变大小。①头文件:#include <vector>②vector的初始化 vector<int> vec; //初始化 vector<int> vec(5); //...原创 2018-04-30 20:47:01 · 322 阅读 · 0 评论 -
C++的Map常见用法总结
Map是STL的非常重要的关联容器,其底层由红黑树实现,是一种key+value的模式。①头文件和定义: #include <map> typedef map<string, int> My_map; //第一种定义方式:模板定义 My_map MMap; //这两种定义方法均可 map<stri...原创 2018-05-02 13:48:31 · 470 阅读 · 0 评论 -
C++的Set的常见用法
Set是STL库中的Map的简化版,只有map中的key没有value。①头文件和定义:set<string> Set; //Set是Map的简化版②迭代器和遍历:set<string>::iterator set_it; //迭代器遍历for (set_it = Set.begin(); set_it != Set.end(); set_it++) {}③修改数...原创 2018-05-02 14:31:32 · 563 阅读 · 0 评论 -
STL中的stack和queue的用法
1.stack堆栈的用法:stack<int> s1;stack<string> s2;s1.push(2); //把数据进行压栈s1.pop(); //弹栈cout << s1.top() << endl; //遍历s1.empty(); //如果是空返回1s1.size(); //返还栈中元素个数2.queu...原创 2018-05-02 16:28:12 · 459 阅读 · 0 评论 -
笔试题:输入两个数n和m,现在只有两种变换方法,第一种是减1,第二种是*2,问:从n到m最少使用多少步?
输入两个数n和m,现在只有两种变换方法,第一种是减1,第二种是*2,问:从n到m最少使用多少步?输入:4 5 输出:3输入:5 12 输出:4输入:5 14 输出:4输入:4 6 输出:2 思路为分段改写:1. n>=m 说明*2根本用不上,只能用减法 步骤就是 n-m2.如果n<m && 2n>m 这...原创 2018-09-03 21:02:57 · 2548 阅读 · 1 评论