280. Wiggle Sort

最后更新

二刷

这个题做得真蠢。上来想的复杂了,想的是quick sort之类的,然后一个一个交换。

实际上直接交换就行。。没啥特别的。

回头看一刷也是同样的思考过程= =宿命论啊。。

Time: O(n)
Space: O(1)

public class Solution {public void wiggleSort(int[] nums) {if (nums.length <= 1) return;for (int i = 1; i < nums.length; i++) {if (i % 2 == 0 && nums[i] > nums[i-1]) {swap(i, i-1, nums);} else if (i % 2 != 0 && nums[i] < nums[i-1]) {swap(i, i-1, nums);}}return;}public void swap(int l, int r, int[] nums) {int temp = nums[l];nums[l] = nums[r];nums[r] = temp;}
}

一刷

这个题一开始蠢了,先SORT了一下,然后IN-PLACE做了半天。。

发现直接greedy就可以。。。。。。

public class Solution {public void wiggleSort(int[] nums) {if(nums.length<=1) return;for(int i = 0; i < nums.length-1;i++){if(i%2==0){if(nums[i] > nums[i+1]){swap(nums,i,i+1);}}else{if(nums[i] < nums[i+1]){swap(nums,i,i+1);}}}}public void swap(int[] nums, int i, int j){int temp = nums[i];nums[i] = nums[j];nums[j] = temp;}
}

转载于:https://www.cnblogs.com/reboot329/p/5935752.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

避免人为灾难:盘点数据中心里十大愚蠢行为

对于企业运营&#xff0c;数据中心从设计、部署等各个环节都有极其严格的规范&#xff0c;保证简单的“题目”不出错也需要企业IT管理人员的智慧&#xff0c;在数据中心任何一个小错误往往会带来巨大灾难。数据中心从设计、部署、测试、运行、运维等各个环节都不能有任何的疏忽…

python中node.tag的用法_python在ui自动化中的一些常见用法

http://cn.python-requests.org/zh_CN/latest 可以查看requests库的说明&#xff0c;pprint(res.json(),width30)可以对请求的返回值按照json格式化形式进行打印。常见的content-type 有application/x-www-form-urlencoded、application/json、application/xml。自动化测试操作…

leetcode1039. 多边形三角剖分的最低得分(动态规划)

给定 N&#xff0c;想象一个凸 N 边多边形&#xff0c;其顶点按顺时针顺序依次标记为 A[0], A[i], …, A[N-1]。 假设您将多边形剖分为 N-2 个三角形。对于每个三角形&#xff0c;该三角形的值是顶点标记的乘积&#xff0c;三角剖分的分数是进行三角剖分后所有 N-2 个三角形的…

TRIZ解决问题方法

个人觉的成功是有规律的&#xff0c;那些成功的人士&#xff0c;都有一套处理事情的秘籍。只要我们的思维方式把那些秘籍融会贯通&#xff0c;并快速执行&#xff0c;我们有一天也会成功的。 TRIZ解决问题的5点方法。 1.确定最终目标。 2.列出阻碍因素 3.消除阻碍因素 4.可以利…

windows调用python_windows 快捷调用Python语言

本文主要向大家介绍了windows 快捷调用Python语言&#xff0c;通过具体的内容向大家展示&#xff0c;希望对大家学习Python语言有所帮助。场景1&#xff1a;某云平台的账号/或密码比较长&#xff0c;一旦浏览器缓存失效&#xff0c;就要去邮件/文件查找&#xff0c;费时费力场景…

《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html 《量化投资&#xff1a;以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB&#xff08;上&#xff09; 《量化投资&#xff1a;以MATLAB为工具》简介 《量化投资&#xff1a;以MATLAB为工具》是由电子工业出版社&#xff0…

android-开源项目_我如何摆脱对开源的恐惧,并开始了自己的项目-以及如何做到。...

android-开源项目by Linea Brink Andersen通过Linea Brink Andersen 我如何摆脱对开源的恐惧&#xff0c;并开始了自己的项目-以及如何做到。 (How I crushed my fear of open source and started my own project — and how you can, too.) A week ago, I started an Open So…

本题要求实现函数输出n行数字金字塔。_练习5-3 数字金字塔 (15分)

本题要求实现函数输出n行数字金字塔。函数接口定义&#xff1a;void pyramid( int n );其中n是用户传入的参数&#xff0c;为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。裁判测试程序样例&#xff1a;#include <stdio.…

leetcode167. 两数之和 II - 输入有序数组(二分查找)

给定一个已按照升序排列 的有序数组&#xff0c;找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2&#xff0c;其中 index1 必须小于 index2。 说明: 返回的下标值&#xff08;index1 和 index2&#xff09;不是从零开始的。 你可以假设每…

thinkcmf 横向排列数据_利用python进行数据分析之数据清洗规整

1.处理缺失值数据使用dropna()时&#xff0c;注意里面参数axis、how、thresh的用法使用fillna()时&#xff0c;注意里面参数value、method、inplace、limit的用法2.数据转换去重data.drop_duplicates(keeplast)#注意keep的用法映射map&#xff08;&#xff09;针对的是一维数组…

v$asm_diskgroup中state的说明

1.使用oracle账号连接数据库&#xff0c;查看v$asm_diskgroup 2.使用grid账号连接ASM实例&#xff0c;查看v$asm_diskgroup 3.官方v$asm_diskgroup关于state的解释 https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-ASM_DISKGROUP.html#GUID-5CF77719-7…

AutoMapper的介绍与使用(二)

AutoMapper的匹配 1&#xff0c;智能匹配 AutoMapper能够自动识别和匹配大部分对象属性: 如果源类和目标类的属性名称相同&#xff0c;直接匹配&#xff0c;不区分大小写目标类型的CustomerName可以匹配源类型的Customer.Name目标类型的Total可以匹配源类型的GetTotal()方法…

站长快讯 WordPress跨站攻击漏洞修补

WordPress中发现一些漏洞&#xff0c;攻击者利用该漏洞可以发起跨站脚本攻击&#xff0c;绕过WordPress安全性限制&#xff0c;获取较为敏感的修订历史记录的信息&#xff0c;或者绑架站点以用于DDoS攻击。 CVE ID CVE-2015-8834 CVE-2016-5832 CVE-2016-5834 CVE-2016-5835 C…

畅通无阻的公式:乘员组从几乎破产变成了吸引500万游客的方式

How could you go from almost no traction and running out of money, to getting millions of visitors to your website?您怎么能从几乎没有牵引力和资金用尽的角度&#xff0c;如何吸引数百万的网站访问者&#xff1f; You could do like Crew accidentally did with Uns…

leetcode1302. 层数最深叶子节点的和(深度优先搜索)

给你一棵二叉树&#xff0c;请你返回层数最深的叶子节点的和。 代码 class Solution {int[] depthnew int[]{Integer.MIN_VALUE,0};//记录最深层数和对应的和public int deepestLeavesSum(TreeNode root) {if(rootnull) return 0;deep(root,0);return depth[1];}public void d…

Python笔记 【无序】 【五】

描述符 将某种特殊类型的类【只要实现了以下或其中一个】的实例指派给另一个类的属性 1.__get__(self,instance,owner)//访问属性&#xff0c;返回属性的值 2.__set__(self,instance,value)//将在属性分配【即赋值】中调用&#xff0c;不返回任何内容 3.__delete__&#xff08;…

化工图纸中LISP_化工设备厂参展模型设计制作

最近这个案子是受某化工设备企业委托做四套设备模型 用来参加展会在模型制作过程中&#xff0c;这类案例经常遇到。但是客户所提供的CAD图纸&#xff0c;往往是实物尺寸在进行缩放的过程中常会造成过薄和过于精细的情况出现眼下技术小哥就遇到这类情况让我们先看看客户提供的C…

社交大佬们的数据“大”在哪里?

文章讲的是社交大佬们的数据“大”在哪里&#xff0c;“别说忙&#xff0c;没工夫看书&#xff0c;你那刷FB/朋友圈的工夫腾出来&#xff0c;保证每周啃下一本”&#xff0c;小编身边总充斥着这样的“训话”。 额&#xff0c;奈何我每天的工作离不开从社交媒体中获取信息&#…

微信支付JsAPI

https://pay.weixin.qq.com/wiki/doc/api/download/WxpayAPI_php_v3.zip 下载获取微信支付demo压缩包打开压缩包&#xff0c;并将其中 WxpayAPI_php_v3\example下的 jsapi.php log.php WxPay.JsApiPay.php WxPay.MicroPay.php WxPay.NativePay.php 解压缩到根目录 tellingtent/…

mysql 多数据源访问_通过Spring Boot配置动态数据源访问多个数据库的实现代码

之前写过一篇博客《SpringMybatisMysql搭建分布式数据库访问框架》描述如何通过SpringMybatis配置动态数据源访问多个数据库。但是之前的方案有一些限制(原博客中也描述了)&#xff1a;只适用于数据库数量不多且固定的情况。针对数据库动态增加的情况无能为力。下面讲的方案能支…