摘要: 很多企业很喜欢在笔试题或者面试的时候问二分搜索,在看了编程之美后,回顾,写下了这个让很多人不以为是,但却经常出错的codeint binarySearch(int *a, int len, int val){ int beg, mid, end; beg = 0; end = len - 1; while (beg < end - 1) { mid = beg + (end - beg) / 2; if(a[mid] <= val) beg = mid; else end = mid; } if(a[end] == val) return e... 阅读全文
posted @ 2011-12-13 17:07 Anbit自由之路 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 上一篇根据其他博主的算法,对该题进行了详细的剖析,但原来自己的算法一直都超时,经过修改,终于Time:938MS 过了,泪奔,代码如下://具体思路:对h进行递增排序,固定h,再对每个w进行扫描,即可扫描得到结果,但超时,需要进行改进//根据 A * H + B * W <= A * h + B * w + C,其中 A * H + B * W是不可能改变的,故对其进行递增排序,//在比较期间,因为h是不变的,w是递增的,所以A * h + B * w + C是递增的,可以根据上一断点进行比较,剪掉了没有意义的比较//但每次w比较完毕,在进行下一次w比较时,需要减去原来w的数量,因为w是 阅读全文
posted @ 2011-12-03 15:33 Anbit自由之路 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 最近快把《short coding》看完,其实我只是切里面的题而已,对于真正的short coding却不是很感冒,但也很佩服别人的专研精神,所以只能流水般得把所有题都切完就算完了。很多题目都没啥难度,但其实挺适合刚入门的ACMer,由浅入深,又有完全的code,还有很清晰的思路,赞一个~在后期,终于遇上一道我用常规方法总是runtime limit,虽然想照着书上改,但坚信还有更加高效的解法,遇上百度了一下,发现下文的解法实在是高,在此感谢博主的精细讲解和为博主提供源灵感的博主,不过在此也要对博主最后的勉强解释作出勘误,因为这个东东,耗费了我一个下午的时间,感慨自己的思维被人阻塞了,挂起了。 阅读全文
posted @ 2011-12-03 11:53 Anbit自由之路 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 这几天因为工作上需要用到WPF,所以重新回去看了C#,并仔细看了<WPF Apps With The Model-View-ViewModel Design Pattern>,研究了它所带的例子,对MVVM模式有了个大概了解,也不得不佩服老外的Demo写得不错,很有研究价值,深究,学到的东西还真不少,以下是我几点体会: 1.关于WPF,其实就是委托+事件的合集,各种委托,各种事件,如果对这两者不熟悉的,请务必了解清楚,可以参考MSDN在线上的一些例子,例如“事件和委托”“引发事件”“如何:在类中实现事件”“处理和引发事件”“如何:引发和使用事件”,如果还有精力,可以看看泛型这个东西 阅读全文
posted @ 2011-10-27 10:15 Anbit自由之路 阅读(269) 评论(0) 推荐(1) 编辑
摘要: 今天整3D项目时,遇到一个线段切割成更小的线段,并需要记录线段上的点,因为其他地方大多用了vector,所以也自然地用vector来实现功能,但还是在下面的程序转了一圈,才发现自己其实对vector的机制熟悉不够,看来得去看看候俊杰写的STL了,或者去看看boost相关库~~ 最后写了一个相关的测试程序,感觉这道题做笔试或者面试题,也是不错的,呵呵 vector<int> *vec = new vector<int>[4]; int i, j; for (i = 0; i < 4; ++i) for (j = 0; j < 10; ++j) vec[i].p 阅读全文
posted @ 2011-10-26 08:47 Anbit自由之路 阅读(260) 评论(0) 推荐(0) 编辑