随笔分类 - 旧时光
摘要:思路:
这题是编程之美上面的一道题,同时也是十分考察观察力的一道题,对于数字30142:
1. 对于个位上面的2有2>1,所以个位上面1出现的次数为:(3014 + 1) * 1; (如果前缀为0,所以要加1)
2. 对于十位上面的4有4>1,同样有十位上面1出现的次数为:(301 + 1) * 10;
3. 对于百位上面的1有1=1,此时就要考虑了,前缀变化范围为 0~29,后缀变化范围是0~42,所以此时百位上面1变化的次数为:(30 + 0) * 100 + 43;
4. 对于千位上面的3有3>1,此时千位上面1出现的次数为:(3 + 0) * 1000;
阅读全文
摘要:题目:
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序数对。一个排列中逆序的总数就称为这个排列的逆序数。
如{2,4,3,1}中,2和1,4和3,4和1,3和1是逆序数对,因此整个数组的逆序数对个数为4,现在给定一数组,要求统计出该数组的逆序数对个数。
阅读全文
摘要:思路:
对于递归的考察。类似于不断的二分枚举,总之考察的还是比较深入的,特别是用一个vector模拟栈的进出都是需要学习的地方。以后还需要仔细理解。
阅读全文
摘要:思路:
1. 生成一组初始数据:01234567
2. 对这组数据进行排列组合,然后找满足8皇后解法的排列即:任何两个皇后都不能在同一列或对角线上
3. permutation的时候要注意,交换数据要从自身交换起,终止的时候是index == length。
阅读全文
摘要:思路:
1. x & (-x)所得的结果即是x最后一位1所在的位置。
2. x = a ^ b ^ c, f(x) = x & (-x)
3. f(x^a)^f(x^b)^f(x^c) 结果必有一位是1,因为f(m)^f(n)结果为0或者为2个1
4. f(x^a)^f(x^b)^f(x^c)的第m位为1,则x^a, x^b, x^c必有1个或者3个第m位为1
5. 用反证法可得,x^a, x^b, x^c只有一个第m位为1
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/2541117420116135376632/
阅读全文
摘要:很久没有写过二叉树的非递归实现了,感觉有点生疏,总结了几种常见的方法,
最后几种采用pair的形式压栈的方法,是十分可取且易于理解的:
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/25411174201011445550396/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/254111742010819104710337/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/25411174201081263815813/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/25411174201085114733349/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/25411174201063105120425/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/254111742009101563242535/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/254111742009101524946359/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/25411174200952174133707/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/25411174200943182411790/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/2541117420094279426862/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/2541117420094245366965/
阅读全文
摘要:http://zhedahht.blog.163.com/blog/static/25411174200801931426484/
阅读全文

浙公网安备 33010602011771号