国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

做優(yōu)惠卷網(wǎng)站倒閉了多少錢(qián)黃頁(yè)引流推廣

做優(yōu)惠卷網(wǎng)站倒閉了多少錢(qián),黃頁(yè)引流推廣,蘇州企業(yè)網(wǎng)站建設(shè)方案,wordpress會(huì)員注冊(cè)為文章目錄 1. 題目2.分析3.解答3.1 先排序,后交換3.2 先交換,后排序 1. 題目 整數(shù)數(shù)組的一個(gè) 排列 就是將其所有成員以序列或線性順序排列。 例如,arr [1,2,3] ,以下這些都可以視作 arr 的排列:[1,2,3]、[1,3,2]、[3…

文章目錄

  • 1. 題目
  • 2.分析
  • 3.解答
    • 3.1 先排序,后交換
    • 3.2 先交換,后排序

1. 題目

整數(shù)數(shù)組的一個(gè) 排列 就是將其所有成員以序列或線性順序排列。

  • 例如,arr = [1,2,3] ,以下這些都可以視作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。

整數(shù)數(shù)組的 下一個(gè)排列 是指其整數(shù)的下一個(gè)字典序更大的排列。更正式地,如果數(shù)組的所有排列根據(jù)其字典順序從小到大排列在一個(gè)容器中,那么數(shù)組的 下一個(gè)排列 就是在這個(gè)有序容器中排在它后面的那個(gè)排列。如果不存在下一個(gè)更大的排列,那么這個(gè)數(shù)組必須重排為字典序最小的排列(即,其元素按升序排列)。

  • 例如,arr = [1,2,3] 的下一個(gè)排列是 [1,3,2] 。
  • 類似地,arr = [2,3,1] 的下一個(gè)排列是 [3,1,2] 。
  • 而 arr = [3,2,1] 的下一個(gè)排列是 [1,2,3] ,因?yàn)?[3,2,1] 不存在一個(gè)字典序更大的排列。

給你一個(gè)整數(shù)數(shù)組 nums ,找出 nums 的下一個(gè)排列。

必須 原地 修改,只允許使用額外常數(shù)空間。

2.分析

這里需要找下一個(gè)字典序更大的排列,那么意味著要從數(shù)組的后端入手。如果最后兩個(gè)元素原本就是升序的,那么就直接交換這兩個(gè)元素就好了,這個(gè)組合即使下一個(gè)更大的組合。在這里插入圖片描述
但是,如果這兩個(gè)元素不是升序的,那么交換這兩個(gè)元素反而導(dǎo)致拍列更小。因此,必須要找到從后向前數(shù)的第一個(gè)升序排列的兩個(gè)相鄰元素。找到之后,交換這兩個(gè)元素即可。
請(qǐng)?zhí)砑訄D片描述
但是,交換后的元素依然不一定是下一個(gè)更大排列組合。如[5,7,6,4]這個(gè)排列,交換5和7,得到的是[7,5,6,4]這個(gè)組合,顯然不是下一個(gè)更大排列,畢竟手動(dòng)排列組合一下,發(fā)現(xiàn)下一個(gè)組合應(yīng)該是[6,4,5,7]
請(qǐng)?zhí)砑訄D片描述

那么,應(yīng)該是考慮從后向前第一個(gè)升序段的后一個(gè)元素開(kāi)始,將后面所有的元素按字典排序,然后找到緊挨著升序點(diǎn)前一個(gè)元素的那個(gè)元素,將其交換即可。
或者找到緊挨著升序段前一個(gè)元素的數(shù)據(jù),將其進(jìn)行交換,然后將從升序段后一個(gè)元素開(kāi)始的數(shù)據(jù),按字典方式排序。

3.解答

3.1 先排序,后交換

public class Solution {public void nextPermutation(int[] nums) {if (nums.length <= 1) return;int len = nums.length;for (int i = len - 1; i > 0;i--) {if (nums[i] > nums[i - 1]) {Arrays.sort(nums, i, len);for (int j = i; j < len; j++) {if (nums[j] > nums[i - 1]) {int temp = nums[j];nums[j] = nums[i - 1];nums[i - 1] = temp;return;}}}}Arrays.sort(nums);}
}

3.2 先交換,后排序

public class Soultion {public void nextPermutation(int[] nums) {if (nums.length <= 1) return;int i = nums.length - 2;int j = nums.length - 1;int k = nums.length - 1;while (i >= 0 && nums[i] >= nums[j]) {i--;j--;} if (i >= 0) {while (nums[i] > num[k]) {k--;}swap(nums, i, k);}Arrays.sort(nums, j, nums.length);}private void swap(int[], int i, int k) {int temp = nums[i];nums[i] = nums[k];nums[k] = temp;}
}
http://aloenet.com.cn/news/47486.html

相關(guān)文章:

  • 自己做網(wǎng)站的優(yōu)勢(shì)自己開(kāi)網(wǎng)站怎么開(kāi)
  • 新手做網(wǎng)站教程網(wǎng)站seo如何做好優(yōu)化
  • 新手如何做海外網(wǎng)站代購(gòu)優(yōu)化網(wǎng)絡(luò)的軟件
  • 論文引用網(wǎng)站數(shù)據(jù) 如何做注釋互聯(lián)網(wǎng)銷售公司
  • 網(wǎng)絡(luò)科技公司 網(wǎng)站建設(shè)百度廣告推廣費(fèi)用
  • 北京做網(wǎng)站費(fèi)用深圳全網(wǎng)營(yíng)銷系統(tǒng)
  • 沈陽(yáng)微信網(wǎng)站制作價(jià)格廣州seo公司哪個(gè)比較好
  • 網(wǎng)站站內(nèi)推廣計(jì)劃書(shū)國(guó)外網(wǎng)站搭建
  • 北流網(wǎng)站建設(shè)山東百搜科技有限公司
  • 一個(gè)人怎么做網(wǎng)站專業(yè)的網(wǎng)站優(yōu)化公司排名
  • 武漢模板自助建站seo技術(shù)優(yōu)化服務(wù)
  • 網(wǎng)站維護(hù)具體怎么做呀合肥seo排名收費(fèi)
  • 用java怎么做門(mén)戶網(wǎng)站怎么樣做免費(fèi)的百度seo
  • 阿里巴巴網(wǎng)站如何做免費(fèi)推廣推廣方案設(shè)計(jì)
  • 網(wǎng)站建設(shè)的內(nèi)容做網(wǎng)站seo優(yōu)化
  • 移動(dòng)端網(wǎng)站設(shè)計(jì)制作企業(yè)網(wǎng)絡(luò)搭建方案
  • 極速網(wǎng)站建設(shè)哪家好電商運(yùn)營(yíng)自學(xué)全套教程
  • 網(wǎng)絡(luò)營(yíng)銷的主要形式有建設(shè)網(wǎng)站網(wǎng)站推廣排名優(yōu)化
  • 中企動(dòng)力雙語(yǔ)網(wǎng)站企業(yè)網(wǎng)絡(luò)營(yíng)銷目標(biāo)
  • 貴州省建設(shè)監(jiān)理協(xié)會(huì)網(wǎng)站是什么如何制作微信小程序店鋪
  • 東莞免費(fèi)企業(yè)網(wǎng)站模板推廣搜狗網(wǎng)站收錄入口
  • 余姚企業(yè)網(wǎng)站建設(shè)青島seo推廣
  • 有沒(méi)有適合寶媽找工作做兼職的網(wǎng)站web免費(fèi)網(wǎng)站
  • 東莞高端品牌網(wǎng)站建設(shè)營(yíng)銷推廣的工具有哪些
  • 怎樣獲得做網(wǎng)站的客戶源碼之家
  • wordpress快速扒站網(wǎng)站seo方案案例
  • 專業(yè)做網(wǎng)站排名多少錢(qián)網(wǎng)上如何推廣自己的產(chǎn)品
  • 抖音小程序變現(xiàn)真的能賺錢(qián)嗎seo優(yōu)化報(bào)價(jià)
  • h5制作多少錢(qián)seo教程最新
  • 保定網(wǎng)站制作軟件天津百度推廣電話號(hào)碼