codility Peaks
来源:互联网 发布:iphone导出照片软件 编辑:程序博客网 时间:2024/05/22 08:10
Question:codility Lesson10 Peaks
My Answer:
#!/usr/bin/env python3# -*- coding : utf-8 -*-from math import sqrtdef solution(A): lenA = len(A) if lenA < 3: return 0 peak = [0] * lenA for i in range(1,lenA-1): peak[i] = peak[i - 1] if A[i] > A[i-1] and A[i] > A[i + 1]: peak[i] += 1 peak[-1] = peak[-2] if peak[-1] == 0: return 0 maxblocks = 0 for i in range(1,int(sqrt(lenA)) + 1,1): if lenA % i == 0: block = i blocksize = lenA // i if peak[blocksize - 1] > 0: for each_block in range(blocksize,lenA,blocksize): if peak[each_block - 1] == peak[each_block + blocksize - 1]: break else: maxblocks = block if i * i == lenA: continue block = lenA // i blocksize = i if peak[blocksize - 1] > 0: for each_block in range(blocksize,lenA,blocksize): if peak[each_block - 1] == peak[each_block + blocksize - 1]: break else: return block return maxblocksprint(solution([1,2,3,4,5]))print(solution([1,3,4,2,8]))print(solution([1,3,4,2]))print(solution([1,2,3,4,3,4,1,2,3,4,6,2]))print(solution([1,2,3,4,3,4,1,2,3,4,6,2,5,8,7,9]))
阅读全文
0 0
- codility Peaks
- codility
- codility
- 8.3 Peaks
- [bzoj3545]Peaks
- Peaks Complexity
- 【BOI2012】Peaks
- Codility -- Fish
- Codility -- Brackets
- Codility -- grocery_store
- Codility -- Triangle
- [codility]Triangle
- [codility]Brackets
- [codility]Fish
- [codility]Dominator
- [codility]Equi
- [codility]equi
- [codility]MinAbsSumOfTwo
- 使用Spring Cloud搭建服务注册中心
- 排序+对撞指针(15. 3Sum )
- Cookie/Session机制详解
- Python——PyCharm常用快捷键
- 下沉传递和冒泡响应的过程
- codility Peaks
- javascript常用的55个经典技巧
- 请阐述双亲委派机制...
- Rubost PCA 优化
- 2014 Multi-University Training Contest 1 D(hdu 4864 经典贪心)
- #好玩东西#eyesCarer
- IDEA中项目实现热部署
- Android循环同步源码shell脚本中的执行错误问题分析
- 部分和问题(DFS,回溯)