翻转链表绝对是终点项目,应该掌握的,这道题要求的是翻转一个区间内的节点,做法其实很相似,只不过要注意判定开始是头的特殊情况,这样head要更新的,还有就是要把翻转之后的尾部下一个节点保存好,要么链表就断掉了。一趟就可以,遇到节点直接翻转,最后把整个翻转的链表再翻转一次,就实现了。
class Solution {
public:
ListNode *reverseBetween(List...
分类:
其他好文 时间:
2014-05-09 15:05:06
阅读次数:
225
最近在做图像处理的时候,发现某一段代码非常的慢,慢得让人无法接受。主要的代码是顺序访问一个LinkedList的元素,效果是随着index的变大,速度越来越慢,list的元素个数在百万以上。找到原因,分享出来,也希望大家不要跳入同一个陷阱。还是那一句话,可运行的代码和高质量的代码之间还是有比较远的距离。
LinkedList错误用法示例
代码里面加入了一些打印时间相关的代码,主要是为了直观的显...
分类:
其他好文 时间:
2014-05-09 15:01:56
阅读次数:
344
昨晚一朋友问了我道数学题:已知弧长l=156,弦长d=140,求半径R和夹角a。
我试了下,方程比较好列,但是求解的话就比较费劲了,心想要是用Matlab的话也就瞬间的事儿,可电脑没安装Matlab,然后想到Python的一个数学库scipy,研究下,是可以解决的。
方程如下:
· cos(a) = 1 - d^2 / (2*R^2)
· L = a * R...
分类:
编程语言 时间:
2014-05-09 14:42:43
阅读次数:
393
本人于去年十月份开始接收游戏元数据管理系统的开发,下面就把使用的技术总结一下:
由于元数据数据库比较多,链接频繁会影响效率,所以我们使用了facebook开源的Thrift,服务端使用C++,客户端链接使用python和php,由于我主要做php,下面是Thrift的php客户端入口文件:
<?php
#Thrift Lib Path Root
$GLOBALS['THRIFT_ROOT']=...
分类:
其他好文 时间:
2014-05-09 14:00:16
阅读次数:
332
最近在用tornado写一个基于Rest的WebService服务端,只提供后端服务,其他webserver应用通过URL,Rest的方式来访问。
我们在开发web应用的时候,难免会想到ORM的一些框架,比如java ee中常用的hibernate, ibatis以及python中的SQLAlchemy之类。使用ORM会在一定程度上加快我们的开发效率。...
分类:
数据库 时间:
2014-05-09 13:54:08
阅读次数:
755
在上一篇中,使用scrapy修改源IP发送请求的最后我们提到由于hosts文件不支持正则,会导致我们的随机域名DNS查询失败。是用DNS服务器可以解决这个问题,下面是我用gevent写的小工具,很简单。我们只拦截匹配的A记录,然后发送DNS Response,如果不匹配,那么我们服务器就是一个DNS代理,转发请求。# -*- coding=utf-8 -*-
import struct
from...
分类:
编程语言 时间:
2014-05-09 13:49:34
阅读次数:
560
《深入 Python :Dive Into Python
中文版》5.7.高级专用类方法除了__getitem__和__setitem__之外Python还有更多的专用函数。某些可以让你模拟出你甚至可能不知道的功能。下面的例子将展示UserDict一些其他专用方法。例5.16.UserDict中更多...
分类:
编程语言 时间:
2014-05-09 13:34:35
阅读次数:
357
情景:navigation view
内嵌list,第一次触发list事件itemtap,正常跳转至详情页,点击"defaultBackButton"返回至list正常;再次点击触发itemtap时,无反应;导致问题会有以下两种:
1,controller中对list使用Id做引用. 相关文章问.....
分类:
其他好文 时间:
2014-05-09 13:16:49
阅读次数:
233
itertools是python内置的一个迭代器工具模块,提供很多方法,创建各种各样的迭代器。python文档中写着,该模块式python2.3引入的,基本常用的python的解释器都是python2.4之后的。所以,基本不会遇上没有提供支持的情况。下面主要介绍常用的三个:islice():一个迭代...
分类:
其他好文 时间:
2014-05-09 13:07:41
阅读次数:
340
1、策略模式
主体主要是添加一个算法的基类,这样就可以通过创建不同的派生类算法,来达到运行时动态改变行为。
2、观察者模式
观察者 关键是要继承统一的监听接口。
通知者 主要是实现:观察者list、添加观察者、删除观察者、通知观察者等接口。
可分为:推送观察者模式,拉取观察者模式。
3、装饰模式
主要是通过装饰品替换装饰者来改变装饰者的行为。因此,装饰品要与装饰者有相...
分类:
其他好文 时间:
2014-05-09 09:10:18
阅读次数:
264