2019蓝桥杯省赛---java---A---8(修改数组)
生活随笔
收集整理的這篇文章主要介紹了
2019蓝桥杯省赛---java---A---8(修改数组)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
思路分析
不是每次+1了,而是直接加相同數字出現過的次數,比如有3個1,第二個1就是+1,第三個直接+2,而不是兩次+1,而且每次都記錄每次的新值出現的次數,這樣循環到新數未出現過為止
代碼實現
package lanqiao;import java.util.*; public class Main {static int[] a1 = new int[1000010], a2 = new int[1000010];//一個用于輸出,一個用于儲存節點public static void main(String[] args) {Scanner sc = new Scanner(System.in);int a = sc.nextInt();for (int i = 0; i < a; i++) {int count = sc.nextInt();while (true){if (a2[count] == 0) { //確定輸入的值是否已經存在a2[count]++;//若不存在則標記推出循環break;}else {a2[count]++;//若存在則為該標識訪問次數加一減少循環次數count +=a2[count] - 1;}}a1[i] = count;}for (int i = 0; i < a; i++) {System.out.print(a1[i] + " ");}} }總結
以上是生活随笔為你收集整理的2019蓝桥杯省赛---java---A---8(修改数组)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么看主板和显卡兼容?
- 下一篇: 2018蓝桥杯省赛---java---C