编程题
1.假设数组第一个元素是k, 如果k在数组内, 则k*2+1 和 k*3+1也在数组内.
在已知k的情况下, 需算出另一个数是否也在数组内?
例子: 输入1,2 输出False
输入1,4 输出True
解题思路:暴力(doge),实在想不到其它好方法,有大佬提点一下吗?
代码如下:
2.游戏内有需求要把图片的像素数据沿横轴做垂直旋转, 一个像素数据由rgba 4个数字组成.
例子:输入 2,[1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4]
输出 [2,2,2,2,1,1,1,1,4,4,4,4,3,3,3,3]
解题思路:
①枚举1/4/9/16个像素组成的图片,从中就能发现规律:每一行颠倒输出,例如:图片像素9个分别为123456789,颠倒后为321654987,注意这里的1=1111,2=2222;
②但是,还能是1234为一个像素,假设总共四个像素组成的图片为1212131314141515,那么每行颠倒后成3131212151514141,明显看出不符合题意,所有还要添加一个条件,锁定四个元素为一个单位,然后每行单位颠倒,四个元素的相对位置不变。
注意事项:如果像素只有一个,那么不能颠倒顺序(输入1234 / 输出1234)
完整代码如下:
输出结果:
weight=2: weight=3:
weight=4:
问答题
就你参与过的项目/工作中的某一个功能模块而已
1.关键技术点
2.时间/空间复杂度交换案例
3.使用到的设计模式
4.设计中的不足及解决方案
5.开发过程中最大的挑战