932. Beautiful Array
For some fixed N, an array A is beautiful if it is a permutation of the integers 1, 2, ..., N, such that:
For every i < j, there is no k with i < k < j such that A[k] * 2 = A[i] + A[j].
Given N, return any beautiful array A.  (It is guaranteed that one exists.)
Example 1:
Input: 4
Output: [2,1,4,3]
Example 2:
Input: 5
Output: [3,1,2,5,4]
Note:
1 <= N <= 1000
Approach #1: divide and conquer. [C++]
class Solution {
public:
    vector<int> beautifulArray(int N) {
        vector<int> ans;
        ans.push_back(1);
        while (ans.size() < N) {
            vector<int> temp;
            for (int i : ans) if (i * 2 - 1 <= N) temp.push_back(i*2-1);
            for (int i : ans) if (i * 2 <= N) temp.push_back(i*2);
            ans = temp;
        }
        return ans;
    }
};
Approach #2: [Python]
class Solution(object):
def beautifulArray(self, N):
"""
:type N: int
:rtype: List[int]
"""
res = [1]
while len(res) < N:
res = [i * 2 - 1 for i in res] + [i * 2 for i in res]
return [i for i in res if i <= N]
Analysis:
https://leetcode.com/problems/beautiful-array/discuss/186679/C%2B%2BJavaPython-Odd-%2B-Even-Pattern-O(N)
932. Beautiful Array的更多相关文章
- [LeetCode] 932. Beautiful Array 漂亮数组
		
For some fixed N, an array A is beautiful if it is a permutation of the integers 1, 2, ..., N, such ...
 - LC 932. Beautiful Array
		
For some fixed N, an array A is beautiful if it is a permutation of the integers 1, 2, ..., N, such ...
 - 【LeetCode】932. Beautiful Array 解题报告(Python)
		
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 构造法 递归 相似题目 参考资料 日期 题目地址:h ...
 - [Swift]LeetCode932. 漂亮数组 | Beautiful Array
		
For some fixed N, an array A is beautiful if it is a permutation of the integers 1, 2, ..., N, such ...
 - 漂亮数组 Beautiful Array
		
2019-04-06 16:09:56 问题描述: 问题求解: 本题还是挺有难度的,主要是要考虑好如何去进行构造. 首先考虑到2 * A[i] = A[j] + A[k],那么j,k就必须是同奇同偶, ...
 - LeetCode - Beautiful Array
		
For some fixed N, an array A is beautiful if it is a permutation of the integers 1, 2, ..., N, such ...
 - Educational Codeforces Round 63 D. Beautiful Array
		
D. Beautiful Array time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
 - 北邮校赛 I. Beautiful Array(DP)
		
I. Beautiful Array 2017- BUPT Collegiate Programming Contest - sync 时间限制 1000 ms 内存限制 65536 KB 题目描述 ...
 - [Educational Codeforces Round 63 ] D. Beautiful Array (思维+DP)
		
Educational Codeforces Round 63 (Rated for Div. 2) D. Beautiful Array time limit per test 2 seconds ...
 
随机推荐
- 网络编程基础之Socket套接字简单应用
			
一.Socket套接字实现通信循环 所谓通信循环,简单理解就是客户端可以给服务端循环发送信息并获得反馈的过程. 1.基础版 通信循环的程序分为两部分,即两个python模块,分别为客户端.py和服务端 ...
 - Android中自定义ListView实现上拉加载更多和下拉刷新
			
ListView是Android中一个功能强大而且很常用的控件,在很多App中都有ListView的下拉刷新数据和上拉加载更多这个功能.这里我就简单记录一下实现过程. 实现这个功能的方法不止一个,Gi ...
 - 纸牌游戏CardBattle的设计与开发
 - SuperWebSocket
			
SuperWebSocket: 概述:SuperWebSocket是WebSocket服务器的.NET实现. 简介:WebSocket是通过单个传输控制协议(TCP)插座提供双向,全双工通信信道的技术 ...
 - 通过MySql自动同步刷新redis
			
在服务端开发过程中,一般会使用MySQL等关系型数据库作为最终的存储引擎,Redis其实也可以作为一种键值对型的数据库,但在一些实际场景中,特别是关系型结构并不适合使用Redis直接作为数据库.这俩家 ...
 - javascript总结系列49:javaScript教程:原型链不可变
			
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
 - Exception (2) Java Exception Handling
			
The Java programming language uses exceptions to handle errors and other exceptional events.An excep ...
 - Arch Linux 使用markdown
			
Arch Linux 使用markdown pandoc 文档格式转换 pygments 代码高亮 markdown-mode.el 配置emacs pandoc 号称文件格式转换的瑞士军刀,这里主要 ...
 - 设计模式12: Proxy 代理模式(结构型模式)
			
Proxy 代理模式(结构型模式) 直接与间接 人们对于复杂的软件系统常常有一种处理手法,即增加一层间接层,从而对系统获得一种更为灵活.满足特定需求的解决方案.如下图,开始时,A需要和B进行3次通信, ...
 - 洛谷P2147[SDOI2008]洞穴勘测(lct)
			
题目描述 辉辉热衷于洞穴勘测. 某天,他按照地图来到了一片被标记为JSZX的洞穴群地区.经过初步勘测,辉辉发现这片区域由n个洞穴(分别编号为1到n)以及若干通道组成,并且每条通道连接了恰好两个洞穴.假 ...