Hawstein's Blog

Make something people love

求两个单链表的和

题目 两个单链表(singly linked list),每一个节点里面一个0-9的数字, 输入就相当于两个大数了。然后返回这两个数的和(一个新list)。这两个输入的list 长度相等。 要求是:1. 不用递归。2. 要求算法在最好的情况下,只遍历两个list一次, 最差的情况下两遍。 解答 这是陈利人同学今天发在待字闺中的面试编程题目,看了一下解答, 发现要么需要遍历链表两次,要么...

如何用 Python 写一个贪吃蛇 AI

前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过。但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了。 问题的关键在于,图片中的贪吃蛇真的很贪吃XD,它把矩形中出现的食物吃了个遍, 然后华丽丽地把整个矩形填满,真心是看得赏心悦目。作为一个CSer, 第一个想到的是,这东西是写程序实现的(因为,一般人干不出这事。 果断是要让程序来干的)第二个...

Pyglet 教程

前言 用Python写程序很有趣,写游戏程序也很有趣。那么,用Python写游戏程序就更有趣了。 不幸的是,这方面的入门教程非常少。我想改变这种状况,所以我写了这个教程。 pyglet programming guide 是非常好的资源,但如果你从来没写过游戏的话,它是帮不上你什么忙的。 这个教程将一步步教你写一个简单的小行星游戏Asteroids。本来对应这个教程, 还有一个大约40分...

Linux Mint 12 下的 GLX 问题

起因 逛GitHub的Explore,发现今日热门 Project:Minecraft 用Python和Pyglet写的简单 Minecraft游戏, 代码只有几百行。觉得挺有意思的,于是fork过来,想学习一下。clone到本地运行, 问题开始出现。 经过 首先,运行python main.py后报错: 1 pyglet requires an X server with GLX ...

动态规划:从新手到专家

前言 本文翻译自TopCoder上的一篇文章: Dynamic Programming: From novice to advanced ,并非严格逐字逐句翻译,其中加入了自己的一些理解。水平有限,还望指摘。 前言_ 我们遇到的问题中,有很大一部分可以用动态规划(简称DP)来解。 解决这类问题可以很大地提升你的能力与技巧,我会试着帮助你理解如何使用DP来解题。 这篇文章是基于实例展开来...

Cracking the coding interview--问题与解答

前言 《Cracking the coding interview》是一本被许多人极力推荐的程序员面试书籍, 详情可见:http://www.careercup.com/book。 里面有150道程序员面试题目及相应的解答。书中大部分是编程题目, 并且配有相应的java程序(有些地方有错误或是有更优的方案)。我把书中的题目做了一遍, 并且记录下来,包含自己对问题的一些思路及看法,许多问题给...

Cracking the coding interview--Q20.12

题目 原文: Given an NxN matrix of positive and negative integers, write code to find the submatrix with the largest possible sum. 译文: 给一个NxN的矩阵,矩阵上每个格子中填有一个整数(正,负或0), 写代码计算子矩阵之和的最大值。 解答 暴力法,时间复杂...

Cracking the coding interview--Q20.11

题目 原文: Imagine you have a square matrix, where each cell is filled with either black or white. Design an algorithm to find the maximum subsquare such that all four borders are filled with black...

Cracking the coding interview--Q20.9

题目 原文: Numbers are randomly generated and passed to a method. Write a program to find and maintain the median value as new values are generated. 译文: 随机产生一些数传递给一个函数,写程序找出并维护这些数的中位数。 解答 方法一 ...

Cracking the coding interview--Q20.8

题目 原文: Given a string s and an array of smaller strings T, design a method to search s for each small string in T. 译文: 给一个字符串S和一个字符串数组T(T中的字符串要比S短许多),设计一个算法, 在字符串S中查找T中的字符串。 解答 字符串的多模式匹配问题。 ...