面试题
是谁在许愿瓶里写满了悲哀
绳可锯木断,水可滴石穿。
展开
-
堆排序--topk问题
求TopK问题—堆排序 问题:求一个N个元素的数组中前K大的数,或者前K小的数、 解决思路:使用堆排序; 求前K大的数----建小堆:首先从数组的前K个数中构建一个小堆,堆顶的元素就是K个数中的最小值,然后将后面N-K个元素依次和堆顶元素比较,如果大于堆顶的值就替换堆顶元素。这样遍历后就找到了前K个值。 求前K小的数—建大堆:从数组前K个中建大堆,堆顶的元素是目前的最大值,然后用其余N-K个元素和堆顶的元素比较,比堆顶元素小的替换,然后调整堆。 void adjustDown(int* a, int par原创 2022-01-12 14:54:08 · 248 阅读 · 0 评论 -
【c++】字符串替换:——面试题
问题描述:—–(去哪网) 请你实现一个简单的字符串替换函数。原串中需要替换的占位符为”%s”,请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。给定一个字符串A,同时给定它的长度n及参数字符数组arg和它的大小m,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。测试样例:“A%sC原创 2017-08-30 17:50:04 · 2947 阅读 · 0 评论 -
【c++】面试题:----根据Unix时间戳计算时间
题目:根据Unix时间戳计算时间,不分大小月,每月30天,每年按360天计算,开始时间为1970/01/01 00:00:00 输入秒数,显示时间。举例:输入10,输出1970/01/01 00:00:10输入12345678 输出 1970/05/23 21:21:18方法一:进位,60秒进1分钟,60分进1小时,24小时进1天,30天进1月,12月进1年,依次建立循环 代码:#include<原创 2017-09-02 11:29:27 · 1114 阅读 · 1 评论 -
小青蛙走迷宫的问题
小青蛙有一天不小心落入了一个地下迷宫,小青蛙希望用自己仅剩的体力值P跳出这个地下迷宫。为了让问题简单,假设这是一个n*m的格子迷宫,迷宫每个位置为0或者1,0代表这个位置有障碍物,小青蛙达到不了这个位置;1代表小青蛙可以达到的位置。小青蛙初始在(0,0)位置,地下迷宫的出口在(0,m-1)(保证这两个位置都是1,并且保证一定有起点到终点可达的路径),小青蛙在迷宫中水平移动一个单位距离需要消耗1点体...原创 2018-07-30 09:12:37 · 715 阅读 · 0 评论 -
完美世界的笔试编程题+删除字符串多余空格并且逆置字符串+双向链表实现队列
完美世界笔试题之破解密电前需要获取完整的数字电报,将电报里的数字反序同时还需要去除多余的空格; //例如:“1 5721 23” - &gt;“23 5721 1” 我的思路: 1,去掉开头和末尾的空格 2,处理字符串中间的多余空格,(用后面的字符填充) 3,旋转处理:先逆置整个字符串,再把每个字串逆置 代码如下: #include&lt;iostream&gt; #include&...原创 2018-08-28 23:49:29 · 298 阅读 · 0 评论 -
如何优雅的在主线程中结束一个从线程?
面试题:如何优雅的在主线程中结束一个从线程?: 假如现在一个线程阻塞了,主线程要结束点从线程,怎么办? —回答:调用pthread_cancel()终止它 线程的退出方式: 1. 从线程函数中return(不适合主线程); 2. 调用pthead_exit()函数终止自己; 3. 调用pthread_cancel终止同一进程中的其他线程。 线程等待:pthread_join(...原创 2018-09-06 11:55:04 · 691 阅读 · 0 评论 -
关于指针释放问题
看个例子: void test() { char* str = (char*)malloc(10); strcpy(str,"hello"); free(str); if(str != NULL) { strcpy(str,"world"); printf("%s\n",str); } } 运行test()会怎样?...原创 2018-09-13 21:52:48 · 1169 阅读 · 0 评论 -
实现一个字符串缓冲区---【VIPKID面试题】
和面试官聊到内存管理的问题,然后让我实现一个字符串缓冲区的类,想到了思路,但是最后写出来的代码实在跟shi一样;凉凉了!!! 、、、、、、、、、、、、、、、、、 以下是实现一个字符串缓冲区的类; 实现的不好,请大家指正! 、、、、、、、、、、、、、、、、、 #define _CRT_SECURE_NO_DEPRECATE 1 #include<stdio.h> #include<...原创 2018-09-30 00:54:03 · 683 阅读 · 0 评论 -
逆置单链表的部分区间---【VIPKID面试题】
给一个带头节点head的单链表,给定start和end两个位置,将这个区间内置。。。 思路:就是链表的逆置;先将区间内的逆置,再处理start和end的位置 两种情况: start是头结点时,要将链表的头结点head更新为end; start不是头结点是正常处理; (还是自己太菜了。。。。面试的时候先去处理start和endl了,导致后面没有处理好,,凉凉啊~~) 不说了,贴上代码: void...原创 2018-09-30 16:03:32 · 345 阅读 · 1 评论