【算法题】1.给定一个由正数,负数和0组成的整数数组,将所有为0的元素,挪到数组末尾。2.给定任意一个自然数,获取它重新排列后,下一个比它大的自然数。(Leetcode 031 下一个排列

本文探讨了两个LeetCode算法问题:一是如何将包含正数、负数和0的整数数组中所有0移动到末尾,保持其他元素相对顺序不变;二是如何找到一个自然数重新排列后的下一个更大数。这些问题考察了数组操作和数论知识,对于提升算法能力非常有帮助。
摘要由CSDN通过智能技术生成
原文 https://blog.csdn.net/CloudNineN/article/details/86579081
package com.example.demo.test;

import java.util.ArrayList;
import java.util.Arrays;

public class Jxw {
    public static void main(String[] args) {
        System.out.println("题目1:");
        exam1();

        System.out.println("题目2:");
        int num = 2543;// 3542 3245
        String result = exam2(num);
        System.out.println("数字 " + num + "比他大的排列为" + result);

    }

    public static void exam1(){
        int[] a = {1,0,3,0,9,0,6,5};
        int[] b = new int[a.length];
        int index = a.length-1;
        int index2 = 0;
        for (int i=0,length=a.length;i<length;i++){
            if(a[i] == 0){
                b[index] = a[i];
                index--;
            } else {
                b[index2] = a[i];
                index2+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值