Hawstein's Blog

Make something people love

Cracking the coding interview--Q1.6

题目 原文: Given an image represented by an NxN matrix, where each pixel in the image is 4 bytes, write a method to rotate the image by 90 degrees. Can you do this in place? 译文: 一张图像表示成NxN的矩阵,图像中...

Cracking the coding interview--Q1.5

题目 原文: Write a method to replace all spaces in a string with ‘%20’. 译文: 写一个函数,把字符串中所有的空格替换为%20 。 解答 简单题。先遍历一次字符串,得到空格个数,进而得到将空格转换成%20后的串长度 (每个空格替换为%20需要增加2个字符,x个空格增加2x个字符)。 然后从后向前依次对空格进行替换,非空...

Cracking the coding interview--Q1.4

题目 原文: Write a method to decide if two strings are anagrams or not. 译文: 写一个函数判断两个字符串是否是变位词。 解答 变位词(anagrams)指的是组成两个单词的字符相同,但位置不同的单词。比如说, abbcd和abcdb就是一对变位词。该题目有两种做法: O(nlogn)的解法 由于组成变位词的字符是...

Cracking the coding interview--Q1.3

题目 原文: Design an algorithm and write code to remove the duplicate characters in a string without using any additional buffer. NOTE: One or two additional variables are fine. An extra copy of the...

Cracking the coding interview--Q1.2

题目 原文: Write code to reverse a C-Style String. (C-String means that “abcd” is represented as five characters, including the null character.) 译文: 写代码翻转一个C风格的字符串。(C风格的意思是”abcd”需要用5个字符来表示,包含末尾的 结束...

Cracking the coding interview--Q1.1

题目 原文: Implement an algorithm to determine if a string has all unique characters. What if you can not use additional data structures? 译文: 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构。 (即只使用基本的数据结构...

Hacking a Google Interview

前言 众所周知,Google的面试是出了名的,为此MIT还专门针对它开了一门课程! 链接:http://courses.csail.mit.edu/iap/interview/index.php 看了一下该课程提供的材料,相当的基础,估计上完这课离真正地Hacking a Google interview还是有一定的距离的。这里摘选Handout里的一些内容,希望起到抛砖引玉的作用。...

聚合数(aggregated number)

题目 原文: We will name a number “aggregated number” if this number has the following attribute: just like the Fibonacci numbers 1,1,2,3,5,8,13….. the digits in the number can divided into several...

树状数组(Binary Indexed Trees)

前言 本文翻译自TopCoder上的一篇文章: Binary Indexed Trees ,并非严格逐字逐句翻译,其中加入了自己的一些理解。水平有限,还望指摘。 目录 简介 符号含义 基本思想 分离出最后的1 读取累积频率 改变某个位置的频率并且更新数组 读取某个位置的实际频率 缩放整个数状数组 返回指定累积频率的索引 2D BIT(Binar...

Markdown 的常用语法及 Emacs 下的快捷键

Markdown的常用语法 建议阅读以下文章,讲得挺详细的。 原文:Markdown: Syntax 译文:Markdown语法 当然了,我可不想每次忘记了一个什么语法,又专门去上面的文章里找,也挺麻烦的。 所以列出一些常用的: *和_包裹的文本表示强调该内容,如:*强调* **和__包裹的文本表示加粗该内容,对应HTML的<st...