前言
《大教堂和市集》中有这样一句话:聪明的数据结构和笨拙的代码要比相反的搭配工作的更好 ,我深以为然。本篇博文就是对此话题的个人简单理解,涉及的编程问题基本上来源于Codewars。
关于《大教堂与市集》中文版可访问这里
释读
Pascal之父——Nicklaus Wirth提出著名公式“算法+数据结构=程序”
本篇博文的主题也可以用简单的数学语句表达出来:
聪明的数据结构 + 笨拙的逻辑代码 > 笨拙的数据结构 + 聪明的逻辑代码
极端的说法是:优秀的数据结构远比优秀的逻辑代码要更好用。
以下举一个来自Codewars中的编程问题:Playing on a chessboard
题目描述:给定一个输入参数n,它会得到一个二维数组(类似矩阵),行方向以1/2,2/3,3/4这样的方式递增,列方向以1/2,1/3,1/4这样的方式递增。返回一个数组,其值为所有元素的求和,如果求和值能约简为整数,则返回整数,否则返回[分子,分母]。
一个n=3
时的数组例子:
[
[1/4,