一个神奇的实现:计算数组尾部对称长度
2017-03-19 17:54
337 查看
灵光一闪,得到这一句:
爽到死!
完整代码如下:
效果图
all(map(lambda x:x==-1, series[-i:-mid] * series[-mid:])) # 对折,相乘,全是-1
爽到死!
完整代码如下:
import numpy as np import matplotlib.pyplot as plt # 函数:返回数组尾部对称长度 def symmetry(series): for i in range(50, 0, -2): mid = i // 2 is_symmetry = all(map(lambda x:x==-1, series[-i:-mid][::-1] * series[-mid:])) # 对折,相乘,全是-1 if is_symmetry: return i return 0 # 计算对称长度 series = np.random.choice([-1, 1], 100) print(symmetry(series)) # 作图验证 fig, axes = plt.subplots(1, 1, sharex=True) axes.plot(np.cumsum(series), 'rd-') plt.show()
效果图
相关文章推荐
- 在一个长度为10的整型数组里面,保存了班级10个学生的考试成绩。要求编写5个函数,分别实现计算考试的总分,最高分,最低分,平均分和考试成绩降序排序
- C语言中计算一个数组长度
- 一个计算数组长度的perl脚本
- 一个班级的学生成绩存在长度为10的数组中,计算不及格的学生数目
- js实现生成一个指定长度为n且随机不重复的数组
- 实现中缀整数表达式求值--使用数组实现,在数组头处一个栈,在数组尾部有另一个栈
- Linux-C基础知识学习:C语言作业-将5个学生成绩保存在一个数组中,单独实现一个计算平均成绩的average函数, 在main函数中获取该函数返回的平均值,并打印。
- 一个班级的学生成绩存在长度为10的数组中,计算不及格的学生数目
- 计算一个数组的长度
- 给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数,请在这个特殊数组中找出给定的整数
- Lua实现计算 UTF8 字符串的长度,每一个中文算一个字符
- 数组中有一个数字出现的次数超过了数组长度的一半,请找出这个数。java实现
- 面试题:实现在一个长度为255的数组,为数组中每一项填入1-255之间的数并且保证不重复
- php数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
- 一个计算数组长度的perl脚本
- 一个长度为N的数组中包含正数 负数 0,请实现一个函数找出和为0的最长子数列
- 请编程实现:产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复(百度了一下,get一种高性能算法,非递归)
- 风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围:2<=n<
- 一个班级的学生成绩在长度为10的数组中,计算不及格的学生数目。
- hive size计算数组长度的一个坑