- 博客(22)
- 资源 (5)
- 收藏
- 关注
原创 C++ const机制
const int a=12; int *b = (int *)&a; *b=21; cout << a<< " " <<&a <<endl; cout 编译能够通过,结果为:12 0x0012FF7C21 0x0012FF7C求解?
2012-09-21 21:51:34
383
原创 创新工场笔试题
typedef union{ long i; int a[5]; double b;}U;typedef struct { int a1; U a; double b1;}M;cout结果为40;结构体内的对齐应该是以double类型大小8对齐的所以内存分配是:int a1;//8字节U a;//24字节double b1;//8字节
2012-09-20 23:20:51
753
1
原创 腾讯马拉松之海岛小Q
小Q漂流到了一座海岛上。这座海岛可以看作是一个矩形,划分为N*M个小格子,每个格子用(x,y)来表示,对应的海拔高度为h(x,y)。此外,海水会随着时间涨潮落潮,从海拔高度0涨到H,再落潮,高度回落至0,如此反复。当某个点的海拔高度小于潮水时,会从陆地变成海洋(不考虑该点是否被其他陆地包围),反之也会由海洋变为陆地。现在,小Q想要从海岛上的A地走到B地。走的时候只能从当前格子走到其相邻(上
2012-09-10 13:45:17
847
原创 最大子数组
def get_largest_sum_subarray(array): assert len(array) > 1 max_sum = second_max_sum = current_sum = array[0] start = end = 0 for i in range(1, len(array)): if current_sum < 0: current_sum =
2012-09-09 15:23:33
516
原创 腾讯马拉松之部门竞赛
部门竞赛:赢一场得3分,平局一分,多个并列最高没有冠军现在记录员有肯能记错了一场比赛的结果,问给出的其中一个部门有没有可能那冠军:(1)如果不用修改就是冠军,输出-2(2)如果一定拿不了冠军,输出-1(3)通过修改可以拿到冠军,输入比赛的场次,如果多场,输入靠前的。第一行表示有几组测试数据第二行表示有几场比赛在比赛之后是这个部门有没有可能那冠军input:3
2012-09-09 11:58:26
1018
原创 腾讯马拉松之数列求和(python 实现)
数列求和返回比赛首页给定n个数字和一个范围[x,y],求从这n个数字中任意取出一些数字,使得它们的和在范围[x,y]中有多少种取法。输入:输入第一行为整数case,case表示有case组测试数据。对于每一组测试数据,第一行为一个整数n (n,第二行为n个整数a[i],第三行为两个整数x和y。其中,a[i]>=0,sum(a[
2012-09-08 22:34:41
3893
原创 awk常用到的内建标量变量
变量 说明FILENAME 当前输入文件段名称FNR 当前输入文件段记录数FS 字段分隔符(正则表达式)(默认为:” “)NF
2012-08-09 17:05:15
638
原创 组合非递归实现
#include "stdafx.h"#include #include #include #include #include using namespace std;deque pailie(char* s){ int num = (int)strlen(s); deque d,dd,result; for (int i = 0; i < num; ++i) {
2012-08-07 13:00:08
760
原创 容器插入后,迭代器失效吗?
vector v; v.push_back(0); v.push_back(1); v.push_back(2); vector::iterator v_it = v.begin(); for (; v_it != v.end(); ++v_it) { if(*v_it==1) v.push_back(3); } for (v_it = v.begin(); v_it
2012-08-07 12:27:04
1360
原创 java之final、 finally和 finalize的区别
Final1.对变量(primitive)使用:变量的值不能改变2.对变量(reference)使用:这个引用变量不能指向堆上的其它对象3.对方法使用:方法不能被重写4.对类使用:类不能被继承Finally这是一个try块后的finally块选项。声明在这个块中的语句最终都会被执行(除非java虚拟机被try/catch块中结束,或者执行try/catch块的线程被杀死)
2012-07-04 20:39:21
314
原创 C++之名字隐藏
在C++中,当你使用一个包含了重载方法的类时,并且当你继承和重写这个方法后,你必须重写所有重载的方法。例子: class FirstClass { public: virtual void MethodA (int); virtual void MethodA (int, int); }; void FirstClass::MethodA (int i) {
2012-07-04 20:21:45
661
原创 python抓取网页图片
近来看小说,有很多是以图片形式上传的,单个保存太费时间,参考网上的例子,自己写了个脚本,批量下载import urllibimport reimport osdef func(): #正则表达式 #本实例中的嵌套网址是非标准的,所以在后面进行了处理, p=re.compile('(?<=<a href=")\d{8,}.html') img=re.comp
2012-06-28 15:49:35
3778
原创 使用python显示被恶意隐藏的文件夹
import osfor i in ("C","D","E","F","L"): for j in os.listdir(i+"://"): abs=i+"://"+j; if os.path.isdir(abs): command="attrib "+abs+" -s
2012-06-12 16:25:56
1054
原创 C++重载解析
B.1何时应用重载解析重载解析可以看作是函数调用整个完整处理过程的一部分。首先,如果是通过指针或者成员函数指针来进行调用,就不会进行重载解析:因为究竟调用哪一个是在运行期由指针(实际所指的对象)来决定的。另外,类似函数的宏不能被重载,因此就不会进行重载解析。B.2简化过的重载解析重载解析通过比较调用实参和候选参数的匹配程度,来对所有的可行候选函数进行分级,对于匹配级别高的候选函数,它每
2012-05-23 21:12:44
1945
原创 python之raise、assert、with/as环境管理器
要故意出发异常,可以使用raise语句,形式如下:raise #manually trigger an exceptionraise, #pass extra data to catcher tooraise #re-raise the most recent excepti第二种形式可以随着异常传递额外的数据,从而为处理器提供细节。assert , #是可选项
2012-05-09 21:20:33
14927
原创 python之函数修饰器的作用
函数修饰器通常是用来给现存的函数增加每次函数被调用时都会运行的一层逻辑。它们可以用来记录函数的日志或者调用次数,检查参数的类型等。它们同样可以用作“静态方法”(一个在类中的函数,不需要传入实例)。静态方法只是嵌套在类对象中的简单函数。为了使一个方法成为静态方法,它必须可以通过特殊的内置函数运行,或者使用装饰器进行修饰。class tracer: def __init__(self,fun
2012-05-09 18:51:56
5305
原创 python之静态和类方法:staticmethod和classmethod内置函数
假设要计算从一个类中产生了多少实例,类的属性是由所有实例共享的:class Sapm: numInstances = 0 def __init__(self): Spam.numInstances = Spam.numInstances + 1 def printNumInstances(): print "Number of instances created: ", Sp
2012-05-09 15:51:23
2524
原创 python之模块与类的区别
模块:1.是数据/逻辑套件2.由python或C扩展编写而成3.通过导入使用类:1.实现新的对象2.由class语句创建3.通过调用使用4.总是存在模块中 类以支持其他模块不支持的功能,例如运算符重载,产生多个实例和继承。虽然类和模块都是命名空间,但是区别还是很大的。
2012-05-08 23:07:04
5129
1
原创 python读书笔记之一:生成器
生成器和一般的函数的最大区别是一个生成器yield一个值,而不是return一个值。yield语句会将函数挂起,并向他的调用者返回一个值,但是保存足够的信息状态为了让其能够在从他挂起的地方恢复。这能够允许这些函数不断产生一系列值,而不是一次产生所有值,之后将值以类似列表的形式返回。包含了yield语句的函数将被编译为生成器。尽管上面的例子我们也可以使用for,map或者
2012-05-07 15:29:03
682
原创 <Effectives STL>笔记之在STL容器中删除元素的方法选择
1.要删除容器中特定值的所有对象“如果容器是vector、string或者deque,则使用erase-remove习惯用法。如果容器是list,则使用list::remove。如果容器是一个标准关联容器,则使用它的erase成员函数。
2011-09-12 14:38:52
409
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人