03 2020 档案

摘要:两种方法 一:使用set 二:使用sort+unique 就是:先排序,然后用unique把重复的数字都放在后面,再用erase删除 // // Created by LK on 2020/3/31. // #include <iostream> #include <vector> #include 阅读全文
posted @ 2020-03-31 11:25 Lucky& 阅读(4907) 评论(0) 推荐(0)
摘要:随机洗牌算法就是让一组数据随机出现。 #include <iostream> #include <vector> #include <ctime> #include <cstdio> using namespace std; // 随机洗牌算法 void shuffle(vector<int>& v 阅读全文
posted @ 2020-03-31 10:50 Lucky& 阅读(2153) 评论(0) 推荐(0)
摘要:用map统计字符串中每个字符出现的次数 #include <iostream> #include <vector> #include <string> #include <map> #include <algorithm> using namespace std; // map统计字符出现的次数 i 阅读全文
posted @ 2020-03-29 16:09 Lucky& 阅读(841) 评论(0) 推荐(0)
摘要:各种数据类型和0比较 1.bool类型和0比较 不可将布尔变量直接与TRUE、FALSE或者1、0进行比较。 假设布尔变量名字为flag,它与零值比较的标 准if语句如下: if (flag) // 表示flag为真 if (!flag) // 表示flag为假 其他为不良写法。 2、 整型变量与零 阅读全文
posted @ 2020-03-28 22:11 Lucky& 阅读(2328) 评论(0) 推荐(0)
摘要:补充一下C++11新特性,被问到了 来源于:https://www.cnblogs.com/skyfsm/p/9038814.html 1,nullptr nullptr 出现的目的是为了替代 NULL(某些编译器把NULL定义为0)。 专门用来区分空指针、0 nullptr 的类型为 nullpt 阅读全文
posted @ 2020-03-28 21:57 Lucky& 阅读(447) 评论(0) 推荐(0)
摘要:lambda表达式完整声明 选自博主:https://www.cnblogs.com/DswCnblog/p/5629165.html [capture list] (params list) mutable exception-> return type { function body } cap 阅读全文
posted @ 2020-03-28 21:25 Lucky& 阅读(700) 评论(0) 推荐(0)
摘要:这个是在一次面试时候问的,删除vector中的一个指定元素 // 刚开始是这样的,删除vector中的一个等于target的元素,我一想不就是这个,多简单,上手就是写个这。结果,我艹直接死循环(一脸尴尬,多么简单的题)。然后调了一会,没调出来(我是忽略了erase的返回值了,erase返回删除当前元 阅读全文
posted @ 2020-03-27 22:19 Lucky& 阅读(1292) 评论(0) 推荐(0)
摘要:Qt基础面试题 1:QT信号槽机制的优缺点 : 1)QT信号槽机制的引用精简了程序员的代码量 (不用写回调函数)2)QT的信号可以对应多个槽(但他们的调用顺序随机),也可以多个槽映射一个信号 3)QT的信号槽的建立和解除绑定十分自由 4)信号槽同真正的回调函数比起来时间的耗损还是很大的,所有在嵌入式 阅读全文
posted @ 2020-03-24 22:35 Lucky& 阅读(26682) 评论(0) 推荐(6)
摘要:Top K 问题 在大规模数据处理中,经常会遇到的一类问题:在海量数据中找出出现频率最好的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题 1:如何在100亿数据中找到最大的1000个数 最容易想到的就是将数据全排序,但是效率太低了,对于海量数据处理并不合适。 方法一构 阅读全文
posted @ 2020-03-24 21:21 Lucky& 阅读(3944) 评论(1) 推荐(0)
摘要:实现窗口A发送一个信号,B接收这个信号,然后执行一系列操作。 窗口A和窗口B没有任何联系。 需要让A的指针,作为B的成员变量 class ResetPwd { public: fun(); signals: void SignalPwd(QString OldPwd, QString NewPwd) 阅读全文
posted @ 2020-03-23 21:30 Lucky& 阅读(520) 评论(0) 推荐(0)
摘要:#define N 3 #define Y(n) ((N+1)*n) z=2*(N+Y(5+1)); z = 2*(N + (N+1)*5+1); z = 2*(3 + 4*5+1); z = 48 上面是一个超级常见的题目 另一种: #define PI 3.14; int main() { do 阅读全文
posted @ 2020-03-23 20:53 Lucky& 阅读(662) 评论(0) 推荐(0)
摘要:一个面试题:不用sqrt函数如何实现开方 用二分法。 上界初始化为数字本身,下界初始化为0.0,这样用二分,判断中间数字的平方和目标数字比较,再修改上界和下界,直到小于一定的阈值。 注意结束条件和精度判断 // // Created by LK on 2020/3/21. #include <ios 阅读全文
posted @ 2020-03-21 12:05 Lucky& 阅读(1231) 评论(0) 推荐(0)
摘要:数据库常见面试题二: 1.事务四大特性 原子性:要么执行,要么不执行,也就是不可再分,已经最小了。 隔离性:所有操作全部执行完以前其它会话不能看到过程。 一致性:事务前后,数据总额一致。 持久性:一旦事务提交,对数据的改变就是永久的 2.数据库隔离级别 脏读:事务B读取事务A还没有提交的数据 不可重 阅读全文
posted @ 2020-03-19 08:43 Lucky& 阅读(944) 评论(0) 推荐(0)
摘要:http协议面试题 1.http协议的组成 请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。 HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式, HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web 阅读全文
posted @ 2020-03-19 08:39 Lucky& 阅读(476) 评论(0) 推荐(0)
摘要:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL 阅读全文
posted @ 2020-03-18 23:13 Lucky& 阅读(155) 评论(0) 推荐(0)
摘要:零碎知识 字符串问题 char *str1 = "hello" char str2[] ="hello" str1不等于str2 str1是一个字符串常量不可修改 str2是一个字符串变量可修改 char *t = "hello"; char *t2 = "hello"; t1 等于 t2; C语言 阅读全文
posted @ 2020-03-18 22:33 Lucky& 阅读(181) 评论(0) 推荐(0)
摘要:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。思路: 定义两个指针,一个在最左边,一个在最右边,让后两个指针向中间靠拢当两个数的和大于S则右边的向左走,当两个数的 阅读全文
posted @ 2020-03-18 17:30 Lucky& 阅读(127) 评论(0) 推荐(0)
摘要:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有 阅读全文
posted @ 2020-03-18 17:22 Lucky& 阅读(230) 评论(0) 推荐(0)
摘要:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 可能刚开始没看懂题意,这里解释一下 1是丑数,然后是质因数为2,3,5的数 就是说4是两个丑数2相乘得到的一个丑数 阅读全文
posted @ 2020-03-18 15:58 Lucky& 阅读(841) 评论(0) 推荐(0)
摘要:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1 阅读全文
posted @ 2020-03-18 14:49 Lucky& 阅读(358) 评论(0) 推荐(0)
摘要:数据库面试题总结之一 1.什么是事务?以及四个特性 事务(Transaction)是并发控制的基本单位。 所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。 事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 ACID 原子性:要么执行 阅读全文
posted @ 2020-03-17 10:58 Lucky& 阅读(446) 评论(0) 推荐(0)
摘要:输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 图解: 思路1: 先统计两个链表长度,求出相差的步数len3; 让长的先走len3步,然后两个一块走,当两个指针相等时就是公共节点了 // 先统计两个链表长度,找出长度 阅读全文
posted @ 2020-03-16 22:46 Lucky& 阅读(283) 评论(0) 推荐(0)
摘要:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 第一个思路:利用大根堆。也是解决top k海量数据的关键 延伸部分(重要) 大堆还是小堆的选择很重要,不是寻找最小的k个元素就要选择小堆,而且恰恰相反。 寻找最小的k个数,其实 阅读全文
posted @ 2020-03-16 17:16 Lucky& 阅读(1081) 评论(0) 推荐(0)
摘要:常用排序算法 我们通常说的排序都是内部排序,就是数据在内存中进行排序 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。 特殊记法: 阅读全文
posted @ 2020-03-15 16:09 Lucky& 阅读(271) 评论(0) 推荐(0)
摘要:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 两种思路:递归和非递归 先说递归吧, // 先判断两个链表指针是否为空,如果链表一为空,则返回第二个// 如果链表二为空,则返回第一个.如果都是空,合并后也是空//两个链表都是有序的,遍历链表,判断当前指针 阅读全文
posted @ 2020-03-14 19:58 Lucky& 阅读(555) 评论(0) 推荐(0)
摘要:输入一个链表,反转链表后,输出新链表的表头。 注意这里是没有头结点的(就是pHead指向的是第一个元素的地址) 思路: //利用两个指针Pcur指向当前,PNew执行要返回的,和一个中间指针变量保存当前结点的下一个结点//我们需要从第二个节点开始遍历,将当前节点的 next 指向前一个节点。//这里 阅读全文
posted @ 2020-03-14 17:32 Lucky& 阅读(160) 评论(0) 推荐(0)
摘要:输入一个链表,输出该链表中倒数第k个结点。 思路一:先遍历整个链表,统计链表的个数,然后总个数-k就是所求的结果 但是太无脑了 所以思路二: 用两个指针, first 和 second first先走k-1次,然后second再走,当first 到最后一个,second就是所求的了 代码: // 两 阅读全文
posted @ 2020-03-14 17:08 Lucky& 阅读(144) 评论(0) 推荐(0)
摘要:堆排序 是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。 首先简单了解下堆结构。 堆 堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆; 或者每个结点的值都小于或等于其左右孩子结 阅读全文
posted @ 2020-03-14 14:47 Lucky& 阅读(304) 评论(0) 推荐(0)
摘要:计算机网络常见面试题总结 // 参考博客 https://www.cnblogs.com/midiyu/p/7897086.html 强烈推荐去看这篇帖子,超鸡好哦!! https://www.nowcoder.com/discuss/1937 1:简述TCP/UDP的区别 TCP和UDP是OSI模 阅读全文
posted @ 2020-03-14 10:58 Lucky& 阅读(626) 评论(0) 推荐(0)
摘要:这个问题也是困扰了我很久的一个问题: 为了加快数据存取的速度,编译器默认情况下会对结构体成员和结构体本身存储位置进行处理,使其存放的起始地址是一定字节数的倍数,而不是顺序存放,称为字节对齐. 设对齐字节数为n(n = 1,2,4,8,16),每个成员内存长度为Li,Max(Li)为最大的成员内存长度 阅读全文
posted @ 2020-03-14 10:14 Lucky& 阅读(2809) 评论(1) 推荐(0)
摘要:这是在网上见到的一道腾讯面试题 先说结论: 1. 计时的情况下需要比赛8轮; 2.不计时的情况下最少需要10轮,最多需要11轮。 1 用秒表计时的话,64匹分8组。 8轮就出来了 2:不能计时的情况下 先说下思路: 一:把64匹马分8组,各跑一次,然后淘汰掉每组的后四名,这里淘汰后四名是因为只需要跑 阅读全文
posted @ 2020-03-13 10:50 Lucky& 阅读(1811) 评论(0) 推荐(1)
摘要:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). 思路1: 利用数组模拟哈希,将字符转化为整数(字符-0) (计算ascii) 将每个字符转换为数字,作为数组的下标,值为出现的次数 第一次遍历统计次 阅读全文
posted @ 2020-03-11 19:06 Lucky& 阅读(149) 评论(0) 推荐(0)
摘要:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。 对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。 例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! 思路 阅读全文
posted @ 2020-03-11 17:26 Lucky& 阅读(628) 评论(0) 推荐(0)
摘要:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。 同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。 例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a stu 阅读全文
posted @ 2020-03-11 15:25 Lucky& 阅读(157) 评论(0) 推荐(0)
摘要:红黑树常见问题 1 stl中的set和set底层用的什么数据结构? 红黑树 2 红黑树的数据结构 1 enum Color 2. { 3. RED = 0, 4. BLACK = 1 5. }; 6. 7. struct RBTreeNode 8. { 9. struct RBTreeNode*le 阅读全文
posted @ 2020-03-11 11:16 Lucky& 阅读(2233) 评论(0) 推荐(0)
摘要:STL相关的面试题 了解STL吗? 0:STL常用的容器有哪些以及各自的特点是什么? 1.vector:底层数据结构为数组 ,支持快速随机访问。 2.list:底层数据结构为双向链表,支持快速增删。 3.deque:底层数据结构为一个中央控制器和多个缓冲区,支持首尾(中间不能)快速增删,也支持随机访 阅读全文
posted @ 2020-03-11 10:20 Lucky& 阅读(4887) 评论(0) 推荐(1)
摘要:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 和上一个思路差不多,找规律 台阶数, 跳法 1 1 2 2 3 4 4 8 5 16 得出两个规律 规律一:f(n) = 2*f(n-1) 规律二:f(n) = 2^(n-1) 规律一用于 阅读全文
posted @ 2020-03-10 16:57 Lucky& 阅读(171) 评论(0) 推荐(0)
摘要:/*一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。*/ 首先我们考虑最简单的情况。 如果只有1级台阶,那么显然只一种跳法。 如果有2级台阶,那就有两种跳法:一种是分两次跳,每次跳1级;另一种是一次跳2级。 f(n)=f(n-1) 阅读全文
posted @ 2020-03-10 16:01 Lucky& 阅读(186) 评论(0) 推荐(0)
摘要:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 先说一下什么是斐波那契数列 1,1,2,3,5,8. 循环方法: // 1,1,2,3,5,8 //通项公式 f(n) = f(n-1)+f(n-2) class Solution { 阅读全文
posted @ 2020-03-10 15:30 Lucky& 阅读(280) 评论(0) 推荐(0)
摘要:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 (注意:规定B[0] = A[1] * A[2] * ... * A[n-1],B[n-1] = 阅读全文
posted @ 2020-03-10 14:32 Lucky& 阅读(136) 评论(0) 推荐(0)
摘要:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。 也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 思路:用一个辅助数组,数组大小 阅读全文
posted @ 2020-03-10 13:39 Lucky& 阅读(278) 评论(0) 推荐(0)
摘要:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 首先第一个思路就是双层循环。但是时间复杂度太高了O(n^2) 所以就不写了 还有一个就是:利用哈希map,键存放数字,值存放出现的次数 #include <iostream> #include <vecto 阅读全文
posted @ 2020-03-10 13:29 Lucky& 阅读(201) 评论(0) 推荐(0)
摘要:1.static类成员 C++primer里面说过,static类成员不像普通的类数据成员,static类数据成员独立于一切类对象处在。static类数据成员是与类关联的, 但不与该类定义的对象有任何关系。即static不会像普通类数据成员一样每一个类对象都有一份,全部类对象是共享一个static类 阅读全文
posted @ 2020-03-10 08:13 Lucky& 阅读(3597) 评论(0) 推荐(2)
摘要:统计一个数字在排序数组中出现的次数。 这个题思路有两种, 一:直接遍历数组统计,时间复杂度为O(n)略 二:利用二分法的变种来写 思路: /* 思路, 和普通的二分改变的是当等于给定值需要修改我们对数组data进行二分,如果数组中间的数字小于k,说明k应该出现在中间位置的右边;如果数组中间的数字大于 阅读全文
posted @ 2020-03-09 18:10 Lucky& 阅读(220) 评论(0) 推荐(0)
摘要:二分查找 普通二分查找 首先说下普通二分查找的思路 普通二分查找是在一个没有重复的排序数组中,找到目标值 思路就是先从中间找,如果中间值大于目标值,说明目标值在左半区 如果中间值小于目标值,说明目标值在右边, 当中间值等于目标值,返回他的下标, // 这里的数组默认都不为空 // 给定一个有序数组和 阅读全文
posted @ 2020-03-09 18:04 Lucky& 阅读(624) 评论(0) 推荐(0)
摘要:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 题解: 这里涉及到了整数转换字符串问题 我们可以先将数组转换成字符串,存放在一个字符串容器中vector<string> 阅读全文
posted @ 2020-03-08 23:07 Lucky& 阅读(242) 评论(0) 推荐(0)
摘要:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分, 并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路一: // 冒泡排序法,如果两个相邻的是前偶后奇数,就交换 O(n^2) 代码: 1 #include <iostream> 阅读全文
posted @ 2020-03-08 14:39 Lucky& 阅读(264) 评论(0) 推荐(0)
摘要:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 如果不存在则输出0。 思路一: 先排序,排好序之后所有相同的数都在一起了,统计相同的数的个数,并判断个数是 阅读全文
posted @ 2020-03-08 14:31 Lucky& 阅读(270) 评论(0) 推荐(0)
摘要:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2} 阅读全文
posted @ 2020-03-08 14:22 Lucky& 阅读(432) 评论(0) 推荐(0)
摘要:语言基础类 0.各种类型和0值比较 bool类型和0值比较 假设有bool类型的flag if (flag) // 表示flag为真 if (!flag) // 表示flag为假 整型和0值比较 假设整型变量value if (value == 0) if(value != 0) 浮点型和0值比较 阅读全文
posted @ 2020-03-08 07:53 Lucky& 阅读(3232) 评论(2) 推荐(1)
摘要:操作系统 操作系统的基本特性 并发,共享,虚拟,异步 并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。 并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。 操作系统通过引入进程和线程,使得程序能够并发运行。 共享是指系统中的资源可以被多个并发进程共同使用。 阅读全文
posted @ 2020-03-07 12:18 Lucky& 阅读(452) 评论(0) 推荐(0)
摘要:进程管理 进程和线程 参考博客https://github.com/CyC2018/CS-Notes 进程 进程是资源分配的基本单位。 进程控制块 (Process Control Block, PCB) 描述进程的基本信息和运行状态,所谓的创建进程和撤销进程,都是指对 PCB 的操作。 下图显示了 阅读全文
posted @ 2020-03-07 12:16 Lucky& 阅读(1005) 评论(0) 推荐(0)
摘要:目录 按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5 即 0000 0011& 0000 0101 = 00000001 因此,3&5的值得1。 另,负 阅读全文
posted @ 2020-03-07 08:39 Lucky& 阅读(28771) 评论(3) 推荐(4)
摘要:#include <iostream> #include <vector> using namespace std; int binarySearch(vector<int>&vec, int target) { int left = 0; int right = vec.size() - 1; i 阅读全文
posted @ 2020-03-06 16:51 Lucky& 阅读(172) 评论(0) 推荐(0)
摘要:给出一个16进制,转换成10进制数 如:“F4” --> 244 16进制转换成10进制:A-F对应10-15 F4 = 15*16^1 + 4*16^0 = 244 主要是将字符转换成数字 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #inc 阅读全文
posted @ 2020-03-06 13:57 Lucky& 阅读(3403) 评论(0) 推荐(0)
摘要:在进行单链表的基本运算之前必须先建立单链表,建立单链表的常用方法有两种:头插法建表和尾插法建表 头插法建表,从一个空表开始,读取字符数组a中的字符,生成新节点,将读取的数据存放到新节点的数据域中,然后将新节点插入到当前链表的表头上,直到读完字符数组a的所有元素为止。 核心代码: s->next = 阅读全文
posted @ 2020-03-04 15:42 Lucky& 阅读(12165) 评论(0) 推荐(1)
摘要:剑指offer替换空格: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路:当我们从前往后进行替换时,每替换一个就要移动后面的所有字符,时间复杂度是0(n2) 我们可以从后向前替换,先 阅读全文
posted @ 2020-03-02 18:18 Lucky& 阅读(1174) 评论(0) 推荐(0)
摘要:剑指offer:二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 //思路:首先选一个右上角的元素,当target大于这个元素,说明不在 阅读全文
posted @ 2020-03-02 18:10 Lucky& 阅读(1057) 评论(0) 推荐(0)
摘要:c语言常见的字符串处理函数 strlen()函数 1函数原型: size_t strlen( const char *string ); 2,函数功能:计算指定的字符串string的长度。 3,strlen函数实现: #include <stdio.h> int my_strlen1(const c 阅读全文
posted @ 2020-03-02 17:36 Lucky& 阅读(1622) 评论(0) 推荐(0)
摘要:多态是由虚函数实现的,而虚函数主要是通过虚函数表(V-Table)来实现的。 如果一个类中包含虚函数(virtual修饰的函数),那么这个类就会包含一张虚函数表,虚函数表存储的每一项是一个虚函数的地址。如下图: 这个类的每一个对象都会包含一个虚指针(虚指针存在于对象实例地址的最前面,保证虚函数表有最 阅读全文
posted @ 2020-03-02 11:08 Lucky& 阅读(4690) 评论(0) 推荐(2)

//返回顶部开始
//返回顶部结束