力扣192周周赛上

  • 题目
  • 思路与算法
  • 代码实现
  • 复杂度分析

题目

1. 重新排列数组

2. 数组中的k个最强值

思路与算法

  1. 第一题不需要太多思路,最简单的就是list,list将要求的顺序的数依次收入,再将其按照顺序重新放回nums。或者,直接用顺序上的规律来写即可。
  2. 第二题的话,也没思路问题,排序,获取中位数,然后进行判断即可,注意只要前k个符合要求的数,其他的注意写的时候的一些细节即可。

代码实现

1. 重新排列数组

class Solution {public int[] shuffle(int[] nums, int n) {int[] res = new int[2*n];for (int i = 0; i < n; i++) {res[2*i] = nums[i];}for (int j = 0; j < n; j++) {res[2*j+1] = nums[j+n];}return res;}
}
class Solution {public int[] shuffle(int[] nums, int n) {List<Integer> list = new ArrayList<>();for (int i = 0; i < n; i++) {list.add(nums[i]);list.add(nums[i+n]);}for (int j = 0; j < 2*n; j++) {nums[j] = list.get(j);}return nums;}
}

2. 数组中的k个最强值

class Solution {public int[] getStrongest(int[] arr, int k) {Arrays.sort(arr);int len = arr.length;int left = 0;int right = len - 1;int mid = arr[(len-1)/2];int[] res = new int[k];int count = 0;while (count < k) {if (Math.abs(arr[right] - mid) >= Math.abs(arr[left] - mid)) {res[count++] = arr[right];right--;} else {res[count++] = arr[left];left++;}}return res;}
}

复杂度分析

  1. 第一题时间复杂度为O(N)
  2. 第二题时间复杂度为O(N)+O(NlogN) = O(NlogN)

20200612:力扣192周周赛上相关推荐

  1. 20200724:力扣197周周赛上

    力扣197周周赛上 题目 思路与算法 代码实现 复杂度分析 题目 好数对的数目 仅含 1 的子串数 思路与算法 第一题直接暴力或者使用map来存值,注意到我们只需要找到这个数字出现的次数num,那么其 ...

  2. 20200705:力扣196周周赛上

    力扣196周周赛上 题目 思路与算法 代码实现 复杂度分析 判断能否形成等差数列 题目 所有蚂蚁掉下来前的最后一刻 请注意仔细看给的示例: 思路与算法 题目给定了数组长度大于等于2,也就是说,先排序, ...

  3. 20200701:力扣194周周赛上

    力扣194周周赛上 题目 思路与算法 代码实现 复杂度分析 题目 数组异或操作 保证文件名唯一 注意这个示例: 思路与算法 半个月没写博客了,太懒了,不能再拖延了,今天开始全部带上C++和Java的双 ...

  4. 20200616:力扣193周周赛上

    力扣193周周赛上 题目 思路与算法 代码实现 写在最后 题目 一维数组的动态和 不同整数的最少数目 思路与算法 第一题没啥好说的,动态和,dp最基础的东西. 第二题主要是一个贪心的过程,既然要剩下的 ...

  5. 20200505:力扣151周周赛上

    力扣151周周赛上 题目 思路与算法 代码实现 题目 查询无效交易 2.比较字符串最小字母出现频次 思路与算法 第一题直接将我们需要的这四组数据包装成一个Transaction对象,主要是注意书写问题 ...

  6. 20200503:力扣187周周赛上

    力扣187周周赛上 题目 思路与算法 代码实现 复杂度分析 题目 旅行终点站 是否所有 1 都至少相隔 k 个元素 思路与算法 第一题我没做出来,说来惭愧,菜的离谱.看大神的题解豁然开朗,这题类似之前 ...

  7. 20201007:力扣209周周赛题解记录(上)

    力扣209周周赛题解记录(上) 题目 思路与算法 代码实现 复杂度分析 题目 特殊数组的特征值 奇偶树 思路与算法 第一题单纯的暴力就行,应该是可以用二分之类的改善复杂度,没必要赘述,直接上暴力遍历, ...

  8. 20200910:力扣204周周赛题解上(Java/Python/Cpp)

    力扣204周周赛题解上 题目 思路与算法 代码实现 写在最后 题目 1.1566. 重复至少 K 次且长度为 M 的模式 2.1567. 乘积为正数的最长子数组长度 思路与算法 热身题不要求算法技巧, ...

  9. 20200814:力扣201周周赛题解记录上

    力扣201周周赛题解记录上 题目 思路与算法 代码实现 写在最后 题目 整理字符串 找出第 N 个二进制字符串中的第 K 位 思路与算法 第一题这种类似消消乐的东西都是直接用栈来实现的,注意代码细节 ...

最新文章

  1. Mysql增强半同步模式_MySQL增强半同步参数rpl_semi_sync_master_wait_point值AFTER_SYNC和AFTER_COMMIT...
  2. Microbiome:生态中心张丽梅组-植物发育时期驱动玉米微生物组生态角色的分化...
  3. eclipse - unresolved inclusion: stdio.h
  4. Java的知识点30——线程的优先级、终止线程的典型方式、获取线程基本信息的方法
  5. Leetcode255用队列构造栈
  6. Spring注入日期到bean属性-CustomDateEditor
  7. 【从上云到创新,视频云的新技术与新场景】
  8. 无人银行真来了,未来80%的银行人估计得失业!
  9. linux mysql服务器安装_Linux服务器MySQL安装
  10. afn post请求上传文件_iOS利用AFNetworking(AFN) 实现图片上传
  11. Ubuntu: 创建PlayOnLinux快捷键 Create PlayOnLinux Application Desktop
  12. Git 原理详解及实用指南
  13. tf.image.resize_images
  14. php函数中pdf文件文字转曲,indesign使文字转曲的三种方法
  15. 对六自由度机械臂的运动控制及python实现(附源码)
  16. polkitd进程解释
  17. cmos电路多余输入端能否悬空_【技术分享】CMOS集成电路中多余输入端为何不能悬空?...
  18. Java并发教程(Oracle官方资料) 分享
  19. 电脑主要硬件解读与选购建议
  20. 华为手机录屏大师录制的视频在本地目录找不到无法转移到PC的问题解决方案——免费转移视频

热门文章

  1. 十行代码实现十亿图片检索,我们把它开源了
  2. 人工智能火爆,入门却太难了!
  3. 你想进BAT吗?告诉你一个秘密,面试成功率能提高到99%!
  4. 是谁榨干了 Android 设备的电量和流量?!| 极客头条
  5. 人工智能时代,我们需要什么样的芯片?| 码书
  6. 漫画 | Linux 并发和竞态问题究竟是什么?
  7. 只需 45 秒,Python 给故宫画一组手绘图!
  8. 罗永浩、戴威的 C 位消亡史
  9. 程序员如何 Get 分布式锁的正确姿势?| 技术头条
  10. “死去活来”罗永浩:我就做千元机,你能把我怎么着!