- 博客(12)
- 收藏
- 关注
原创 redis源码分析(adlist)
typedef struct listNode { struct listNode *prev; struct listNode *next; void *value; } listNode; typedef struct listIter { listNode *next; int direction; } listIter; typedef stru
2017-03-09 15:39:09 212
原创 编程之美(数字的魅力--最大子串和,积)
这两个题思路,直接DP把。。。。 1.最大子串和: F(n) = max(F(n-1)+a[n],a[n]) 这里还可以加一个打印begin和end位置。思路是在F(n-1)+a[n] 2.最大子串积: f_max[i] = max(max(f_max[i - 1] * nums[i], f_min[i - 1] * nums[i]), nums[i]); f_min[
2016-12-27 15:21:27 207
原创 编程之美(数字的魅力--和为定值的数)
1.和为定值的两个数: 输入一个数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。 思路: (1)穷举,遍历计算两个数的和,看看是否跟给定的值相等o(n*n) (2)先排序o(n*logn) ,然后s1 = sum -s2,看s1是否在数组中,这里用二分查找这里也是o(n*logn) (3) 先排序o(n*logn),然后两个变量i,j代表开始和结束的I
2016-12-26 17:34:09 233
原创 编程之美(数字的魅力--寻找发帖水王)
问题描述: Tango是微软亚洲研究院的一个试验项目。研究院的员工和实习生们都很喜欢在Tango上面交流灌水。传说,Tango有一大“水王”,他不但喜欢发贴,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子总数的一半。如果你有一个当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的Tango水王吗? 排序后,直接输出中位数;建立一
2016-12-24 13:52:40 236
原创 编程之美(数字的魅力)
学到一个新公式; 个数Z = [N/k的1次方] + [N/k的2次方] + [N/k的3次方] +...... ex: 25!中能被5整除的个数,[25/5] + [25/25] = 6个,分别是5,10,15,20,25(两个) 1.给定整数N,求N!中尾部0的个数 (1)直接的想法,算出N!肯定不现实。那么要求0得个数其实就是求5的倍数的个数(注意5的K次方算K个)
2016-12-23 18:31:12 254
原创 编程之美(数字的魅力)
1.求出二进制中1的个数 (1)最直接的想法,就是余2再除2。 (2) int Count(int v) { int count = 0; while (v) { v &= (v - 1); count++; } return count; } 2.A,B中二进制的中不一样的个数 我思路是A^B,这样就把不相同的位置都变成0了,再由方法1中的办法求二
2016-12-23 17:24:19 280
原创 编程之美(寻找丢失的数)
两个题目: 1、给你n个数,其中有且仅有一个数出现奇数次,其余的数都出现偶数次。要求用线性时间常数空间找出出现奇数次的那个数。 2、同样是n个数,其中有且仅有2个数出现奇数次,其余都出现偶数次。要求用线性时间常数空间找出出现奇数次的两个数。 首先知道这个公式就好办了,A^0 = A,A^A =0; 第一题: int num = 0
2016-12-23 16:52:09 393
原创 kmp-----leetcode(Implement strStr() )
继续学习开始刷题;。。。 首先为什么要用kmp,我们遇到问题是在字符串s1 和字符串s2, 想在字符串s1中找到s2,返回s1中的起始位置。 比如 s1 = "ABABCABCD" s2 ="ABCD" 返回结果是5 首先想到的是暴力匹配,发现相同的i++,j++,如果不相同i= i-j+1,j=0。直到 j的大小等于s2的长度。 看了好久好久才知道kmp
2015-07-08 18:33:45 412
转载 字符串旋转
菜鸟今天准备好好学习,开始刷题玩,先从简单的入手,拿起很久没有看的算法。 刚看了July大神的博客,找了LeetCode上面的题练手 https://leetcode.com/problems/rotate-array/ 反转的思想是,(0,1,2,3....n);从第倒数第K位反转 那么先交换(0,n-k),再交换(n-k+1,n),最后交换(0,n) class Solution
2015-07-06 23:27:28 327
原创 cocos2d中文显示
1.新建一个文本文件,吧自己需要的汉字输出进,然后保存,(如果你用是记事本打开的,记得保存utf_8). 2.把文件拖入HXD,然后导出一个.c文件 3.得到一个二进制编码,把这个数组的最后一位加上0,然后把大小改变。 4.强制转化为char * ex: 输入汉字"过关"->unsigned char rawData[6] = {0xE8, 0xBF, 0
2015-01-04 09:57:17 383
原创 coco2d ClippingNode制作不规则血条
最近在学cocos2d,发现一些血条的形状可能不是规则的,如果用缩放进行血条的制作,就会在缩放的过程中产生形变。 这是就需要用到节点裁剪。 就是cocos2d::ClippingNode 参见 http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework
2014-11-26 09:43:10 1015
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人