博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode【1299】Replace Elements with Greatest Element on Right Side
阅读量:4134 次
发布时间:2019-05-25

本文共 899 字,大约阅读时间需要 2 分钟。

解法一、暴力法,正序,每次找当前元素之后所有元素的最大值,简洁明了,就是会超时 

class Solution {    public int[] replaceElements(int[] arr) {         int l = arr.length;         int[] ans = new int[l];         for(int i=0;i

解法二、重新创建一个新的数组,倒序遍历,每次比较当前元素和它右边的最大值,更新最大值

class Solution {    public int[] replaceElements(int[] arr) {        int[] res = new int[arr.length];        int max = -1;        for (int i = arr.length - 1; i >= 0; i--) {            res[i] = max;            max = Math.max(arr[i], max);        }        return res;    }}

解法三、原地比较

package com.company;public class replaceElements {    public static void main(String[] args){        replaceElements test = new replaceElements();        int [] a = {17,18,5,4,6,1};        int [] res = test.replaceElements(a);        for(int i = 0; i
= 0; i--) { int t = arr[i]; arr[i] = max; max = Math.max(t, max); } return arr; }}

 

转载地址:http://hejvi.baihongyu.com/

你可能感兴趣的文章
MySQL数据库9 - 日期与时间函数
查看>>
android 定位
查看>>
day07_mysql——mysql基础
查看>>
Java动态代理
查看>>
Oracle 动态SQL语句(4)之存储过程的调用与浅谈字符串的使用
查看>>
oracle的时间函数
查看>>
linux目录结构
查看>>
GitHub上最火的开源项目SlidingMenu导入出错的终极解决方案
查看>>
navicat for mysql 显示中文乱码解决办法
查看>>
10个经典的Android开源应用项目
查看>>
转:iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)
查看>>
hibernate 学习小结
查看>>
应用存储过程修改数据
查看>>
C# using的三种用法
查看>>
Spring中@Component注解,@Controller注解详解(网摘)
查看>>
Appium入门
查看>>
vb.net 水晶報表CrystalReport 動態設定資料庫來源
查看>>
函数的渐近增长
查看>>
.gitignore配置
查看>>
kubernetes学习 数据管理 Volume (二)
查看>>