从简单面试题说起
创始人
2025-05-30 18:05:43
0

背景

突发奇想, 在探索各种app的时候, 好奇 soul 的主页星球的效果是怎么实现的, 因此诞生此文.

从一个题说起

上述是背景, 先按下不表, 先从一个经典的面试题说起

走楼梯: n阶楼梯, 每次可向上走1层或2层, 问有多少种方式走到最上方.
例子: 3阶楼梯, 有 111, 12, 21 三种方式

解法

视角放在第 k 个台阶上, 有两种方式到达 k , 从 k - 1 层跨一层, 或者从 k - 2 层跨两层.

有 f(k) 表示走到第 k 个台阶的方法数, 则 f(k) = f(k-1) + f(k-2) , k>2 ; f(1) = 1, f(2) = 2

f(k) 会组成一个数列 1, 2, 3, 5, 8, 13, ....

代码

递归 O(n)

function f(int n) {if (n == 0 || n == 1) return 1;if (f[n]) return f[n];return f[n] = f[n-1] + f[n-2];
}

递推 O(n)

f[0] = 1; f[1] = 1;
for (i = 2; i < n; i ++) {f[i] = f[i-1] + f[i-2];
}

矩阵法

快速幂 O(lgn)

function quickPowInt(int x, int n) {if (n == 1) return x;return quickPow(x, n>>1) * quickPow(x, n>>1) * ((n&1)*x);
}

矩阵快速幂 O(lgn)

function quickPowMatrix(Matrix x, int n) {if (n == 1) return x;return quickPow(x, n>>1) * quickPow(x, n>>1) * ((n&1)*x);
}function (Matrix a, Matrix b) * { // 定义矩阵乘法运算// ...
}

通项公式

斐波那契数列的特性

黄金分割

斐波那契螺旋

最密排布 (黄金角)

10561 怎样在球面上「均匀」排列许多点?(下)

回到正题

Soul 要实现的效果实际是要实现在球面的均匀分布

CGFloat p1 = M_PI * (sqrt(5) - 1);
CGFloat p2 = 2. / tags.count;for (NSInteger i = 0; i < tags.count; i ++) {CGFloat y = i * p2 - 1 + (p2 / 2);  // (2n+1)/N - 1  in range [1/N-1, 1-1/N]CGFloat r = sqrt(1 - y * y);                                 CGFloat p3 = i * p1;               CGFloat x = cos(p3) * r;CGFloat z = sin(p3) * r;DBPoint point = DBPointMake(x, y, z);[self setTagOfPoint:point andIndex:i];
}

参考

https://kvme0lwwge.feishu.cn/docx/LWWXdAOu3oiu1UxNhFdcTuZMnKd

我在向日葵里找到了黄金比例!斐波那契数列与自然_哔哩哔哩_bilibili

上一篇: 生命诗歌

下一篇:js学习13(Math)

相关内容

热门资讯

职业生涯感悟随笔   我们从事工作这么久,怎么才能知道自己做的怎么样呢?这个时候就需要你多做一些职业上的感悟,下面就由...
我的开学第一天随笔日记的 我的开学第一天随笔日记的范本  引导语:开学,汉语解释有开设学校、启作学者、学期开始三个释义。但在日...
读《桃花心木》的读有感 读《桃花心木》的读有感  【篇一:读《桃花心木》有感】  当我一看到《桃花心木》这个题目时,我心想:...
小学信息技术教学随笔 小学信息技术教学随笔  信息技术和学科的整合不仅是学生学习方式的革命,也是教师教学方法的全方位变革,...
Spark Streaming... 一、文件流 在文件流的应用场景中,需要编写Spark Streaming程序ÿ...
通过form表单,ajax构造... 一,form表单构造form表单中重要参数:action:...
暑假心情随笔 暑假心情随笔(精选12篇)  在日常学习、工作生活中,大家一定没少看到别人写的随笔吧?随笔是一种散文...
相机中的你们 相机中的你们  相机,记录了我们的相处的点点滴滴,是一种美好的回忆。下面是小编为大家带来了相机中的你...
刚入学大班教育随笔 刚入学大班教育随笔(通用11篇)  在日常学习和工作生活中,大家一定没少看到别人写的随笔吧?随笔是散...
新学期随笔作文 新学期随笔作文三篇  新学期来了,大家都写了哪些随笔呢?下面是小编精心为你整理新学期随笔作文,希望你...
Bluetooth LE AT... 一,简介ESP-AT 当前仅支持 Bluetooth LE 4.2 协议规范ÿ...
2.2 离散型随机变量 引入:有些随机变量,它全部可能取到的值是有限个或可列无限多个,这种随机变量称为离散型随...
情感日志心情随笔 情感日志心情随笔  在学习、工作或生活中,大家对日志都再熟悉不过了吧,此时此刻我们需要写一篇日志了。...
小学数学教学反思随笔 小学数学教学反思随笔  在日复一日的学习、工作生活中,大家都知道随笔吧?随笔是一种散文体裁,可以抒情...
幼儿中班教师教育随笔   教师是人类文化科学知识的继承者和传播者。对学生来说,又是学生智力的开发者和个性的塑造者。下面是小...
荒凉里的眼泪随笔散文 荒凉里的眼泪随笔散文  荒凉里的太阳仍旧照着,微风吹起路上的土打着圈儿,冬麦的绿色在田里挣扎着,淡绿...
LeetCode1436. 旅... 题目 给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,...
巧用提示语,说说话就能做个聊天... 你好,我是徐文浩。 这一讲,我们来看看Open AI提供的Complet...
【全民Python】Pytho... 目录 一.前言 二.xlrd xlwt xlutils库的安装 三.Excel的读写改 1.创建Ex...
css总结3(文本和字体) 文本 字体 前言 以下内容不含基本的字体样式,font-size、font-wei...