摘要:
1.最近项目不是很忙,结合之前看的一些开源代码(skynet及其他github代码)及项目代码,抽空写了一个简单的任务队列当做练习。 2.介绍: 1)全局队列中锁的使用:多线程下,全局队列需要加锁,本例中封装了MutexGuard。操作全局队列之前,先在栈上创建一个临时锁对象,调用构造函数时加锁,对 阅读全文
摘要:
1.问题,最近看项目log模块,_log模板函数中的一个参数竟然看蒙x了。函数原形是这样: template<size_t size>void _Log(char (&strDest)[size], const char *scetion, const char *key, const char * 阅读全文
摘要:
1.问题:一个m个字符的字符串,‘循环’ 向左或向右移动n(n <= m)位,求移动后的字符串。例如abcdefg 左循环移动3位 -> defgabc, 又循环移动三位 -> efgabcd. 2.实现方法很多,最直接但是效率很低的方法是挨个移动字符元素,类似移动数组。这里介绍一个技巧来实现, 以 阅读全文
摘要:
1.问题:有1到100的连续整数数组a,现将其打顺序,并拿掉其中一个数,是找出一种空间复杂度和时间复杂度较小的方法,找到这个数。 2.思路1:空间换时间,申请100个空间的数组B,初始化为0,然后遍历一次乱序数组a, 令b[a[i]] = 1 (0 =< i < 99),在遍历一次数组b,若b[j] 阅读全文
摘要:
1.今天看到两个不错的位运算,一个是判断一个整数是否是2的n次幂,另一个是将一个非2的n次幂整数,经转变得到大于该数的2的n次幂整数。 2.判断一个整数是否是2的n次幂. 该方法利用了若一个数x为2的n次幂(n >= 0)则一定有 x & (x - 1) = 0. 3.将一个非2的n次幂整数,经转变 阅读全文
摘要:
1.问题描述:网页商城中每一页的商品数量是有限的,现在给出总数n (n > 0)件商品,且每页只允许显示m(m > 0)件商品 现在要求一行表达式来计算出显示所有商品一共需要多少网页? 要求: 只能用一行表示出来, 并且只能用(括号,加减乘除)运算符,其它的如比较运算符等都不可以用。 2.开始我没读 阅读全文
摘要:
1.偶然看到了十字链表的一些东西,想到之前在《数据结构与算法分析》的链表一章中,需要用多重表实现一个简单的查询功能。功能需求如下: “已知 学生 和 学校课程 总数 分别为 40000 和 2500,现在需要得到两份报告,一份显示每门课成注册的所有学生信息, 一份显示每个学生注册了哪些课程。” 显然 阅读全文
摘要:
1.问题描述:找出数列中唯一一个出现一次的数,其余得数都出现两次。 分析: 1)最笨的方法当然是穷举了: 2)异或操作 (^): 性质: 0 ^ 0 = 0, 1 ^ 1 = 0, 0 ^ 1 = 1, 0 ^ A = A; 总结起来就是按位异或 相同为0,不同为1。 这样一来明显得出,相同的俩个数 阅读全文
摘要:
1.截至目前群里的成员已经对skynet中的timeout提出了更多的要求。目前skynet提供的定时器是倒计时形式,且定时器一旦设置后,便不能撤销(至少目前的实现是这样),然后调用 cb 最近有人提出希望能支持一下撤销定时器的功能,但云风坚持:“框架只应该提供必不可少的特性,能用已有的特性实现的东 阅读全文
摘要:
1.问题描述: 最近在做一个watch上的电子宠物的项目,整个主功能界面是个圆形,然后每个功能(喂食,清洁,愉悦之类的)各自是圆上的一部分也就是个扇形。然后点击每个扇形,出现对应的子功能界面,格式和主功能界面一致。 现在要实现点击对应的扇形会出现对应的子功能界面,子功能界面和这个类似。换而言之就是点 阅读全文