667. 优美的排列 II

给定两个整数 n 和 k,你需要实现一个数组,这个数组包含从 1 到 n 的 n 个不同整数,同时满足以下条件:

① 如果这个数组是 [a1, a2, a3, … , an] ,那么数组 [|a1 - a2|, |a2 - a3|, |a3 - a4|, … , |an-1 - an|] 中应该有且仅有 k 个不同整数;.

② 如果存在多种答案,你只需实现并返回其中任意一种.

示例 1:

输入: n = 3, k = 1
输出: [1, 2, 3]
解释: [1, 2, 3] 包含 3 个范围在 1-3 的不同整数, 并且 [1, 1] 中有且仅有 1 个不同整数 : 1

示例 2:

输入: n = 3, k = 2
输出: [1, 3, 2]
解释: [1, 3, 2] 包含 3 个范围在 1-3 的不同整数, 并且 [2, 1] 中有且仅有 2 个不同整数: 1 和 2

提示:

n 和 k 满足条件 1 <= k < n <= 104.

class Solution {public int[] constructArray(int n, int k) {int[] res = new int[n];int count = n;int rec = 1;for (int i = 0; i < n-k; i++) {res[i] = rec++;}boolean flag = true;for (int i = n-k; i < n; i++) {if (flag){res[i] = count--;flag =false;}else {flag = true;res[i] = rec++;}}return res;}
}

Java实现 LeetCode 667 优美的排列 II(暴力)相关推荐

  1. LeetCode 667. 优美的排列 II(找规律)

    1. 题目 给定两个整数 n 和 k,你需要实现一个数组,这个数组包含从 1 到 n 的 n 个不同整数,同时满足以下条件: ① 如果这个数组是 [a1, a2, a3, ... , an] ,那么数 ...

  2. Java实现 LeetCode 526 优美的排列(DFS)

    526. 优美的排列 假设有从 1 到 N 的 N 个整数,如果从这 N 个数字中成功构造出一个数组,使得数组的第 i 位 (1 <= i <= N) 满足如下两个条件中的一个,我们就称这 ...

  3. leetcode 667. Beautiful Arrangement II | 667. 优美的排列 II(Java)

    题目 https://leetcode.com/problems/beautiful-arrangement-ii/ 题解 偏智力题,评论区有人说,A typical question testing ...

  4. LeetCode 526. 优美的排列(回溯)

    1. 题目 假设有从 1 到 N 的 N 个整数,如果从这 N 个数字中成功构造出一个数组,使得数组的第 i 位 (1 <= i <= N) 满足如下两个条件中的一个,我们就称这个数组为一 ...

  5. Leetcode 526.优美的排列 二进制状压DP

    题目链接:传送门 假设有从 1 到 N 的 N 个整数,如果从这 N 个数字中成功构造出一个数组,使得数组的第 i 位 (1 <= i <= N) 满足如下两个条件中的一个,我们就称这个数 ...

  6. java求最短距离,Java实现 LeetCode 821 字符的最短距离(暴力)

    821. 字符的最短距离 给定一个字符串 S 和一个字符 C.返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组. 示例 1: 输入: S = "loveleet ...

  7. LeetCode 267. 回文排列 II(回溯)

    文章目录 1. 题目 2. 解题 1. 题目 给定一个字符串 s ,返回其通过重新排列组合后所有可能的回文字符串,并去除重复的组合. 如不能形成任何回文排列时,则返回一个空列表. 示例 1: 输入: ...

  8. Java实现 LeetCode 31下一个排列

    31. 下一个排列 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列). 必须原地修改,只允许 ...

  9. Java实现 LeetCode 374 猜数字大小 II

    375. 猜数字大小 II 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了. 然而,当你猜 ...

最新文章

  1. sublime Text 开发工具
  2. java中 抽象类+接口
  3. matlab如何配置weka,matlab调用weka
  4. C语言经典程序之:求十个整数中的最大最小数并输出(指针)
  5. OpenCV中使用神经网络 CvANN_MLP
  6. mysql所有知识点总结_MySQL知识点总结
  7. CodeAnyWhere
  8. linux安装apache下载文件,Linux安装apache详解
  9. 内容可寻址存储器CAM简介
  10. mysql主从同步问题_mysql主从同步问题整理
  11. 台哥算法练习 - 自己写的一个LinkedList
  12. JAVA —— ArrayList集合习题(共四题)
  13. 基于BOW模型的图像检索
  14. OPENCV 实现png绘制,alpha通道叠加。
  15. 独孤求败,未必就是王者:CloudStack和Eucalyptus已去,OpenStack赢了吗?
  16. 【MySQL 09】安装mysql时出现:需要这两个包perl(Data::Dumper),perl(JSON)
  17. java web 系统消息通知功能,实现实时弹窗
  18. 点云数据生成三维模型_残损叶轮想要逆向修补,三维扫描仪快速生成三维数据...
  19. java反转字符串的方法
  20. created与mounted执行顺序

热门文章

  1. python tensorflow 交通标志识别
  2. struts2 mysql_Struts2连接Mysql的Crud使用
  3. 【算法】有序链表转换二叉搜索树和从中序与后序遍历序列构造二叉树Java解答参考
  4. QJson出现“\n“变成“\\n“
  5. M1芯片import numpy 报错问题
  6. 什么是indicator function指示函数
  7. 查看端口号是否被占用(情况 命令)
  8. WIN7系统下重装XP系统
  9. java三大平台介绍,选择哪个平台学习java编程?
  10. 如何使用PQ获取央行某日的外币牌价