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. linux 搭建 lamp环境搭建,Worktile官方博客,分享企业协作的技巧、工具和实践
  2. mysql主备在同一台_MySQL高可用(一)主备同步:MySQL是如何保证主备一致的
  3. 今天说说OPPO——OPPO 实时数仓揭秘:从顶层设计实现离线与实时的平滑迁移
  4. 从Richard Young教授的系列研究看超级增强子发现背后的故事 (附超级增强子鉴定代码)
  5. php android html字符串,实例讲解php将字符串输出到HTML
  6. 让谷歌、百度最快最多地收录您的网站
  7. matlab 判断整除函数_判断素数函数
  8. 将一个字符类型转换为字符串类型
  9. Wamp在重新装机后不想配置
  10. 判断div是否在可视区内
  11. pdf会签_工作流系统中会签功能的设计与实现.pdf
  12. 如何激发孩子的想象力_如何激发孩子的创造力,想象力?
  13. linux pthread_attr_destory()
  14. 手机不用root,一台电脑教你导出微信聊天记录
  15. 亚马逊云科技 Community Builder 申请窗口开启
  16. MySQL数据库版本
  17. 推荐一款护眼黑科技产品
  18. java内部模型,13 张图拆解 Java 中的内存模型
  19. Dell戴尔笔记本电脑Vostro 5502原装出厂系统恢复原厂系统2004
  20. 关于逆波兰算法进行公式单位的推导

热门文章

  1. java设计缺陷_多个常见代码设计缺陷
  2. bes2300之i2c(七)
  3. 图解正向代理和反向代理
  4. mysql sum带条件_有条件的MySQL Sum查询?
  5. C/C++程序设计---RLE简单算法
  6. 算法系列之八:RLE行程长度压缩算法
  7. Read timed out | SSL peer shut down incorrectly
  8. 小程序Canvas生成分享海报避坑指南
  9. 部署环境从docker swarm迁移到k8s后kie-server的发布方式变化(二)
  10. Python求解多机系统暂态分析