1. 程式人生 > 其它 >12.21 力扣題目 (一維陣列的動態和)

12.21 力扣題目 (一維陣列的動態和)

技術標籤:java

題目

給你一個數組 nums 。陣列「動態和」的計算公式為:runningSum[i] = sum(nums[0]…nums[i]) 。

請返回 nums 的動態和。

思路

遍歷原陣列 新陣列第一個元素不變 第二個元素等於原陣列的第i個數加新陣列的第j-1位數,中間需要判斷一次J=0的情況,J=0時J-1會出現下標越界的情況,然後用一個引數接受結果集,然後遍歷該陣列,輸出新陣列的元素

遇到的問題

陣列的定義三種定義方式:

陣列儲存的資料型別[] 陣列名字 = new 陣列儲存的資料型別[長度]

int[] arr = new int[3]; 

陣列儲存的資料型別[] 陣列名字 = new 陣列儲存的資料型別[]{陣列元素1,陣列元素2,陣列元素3};

int[] arr = new int[]{1,2,3,4,5};

陣列儲存的資料型別[] 陣列名字 = {陣列元素1,陣列元素2,陣列元素3};

int[] arr = {1,2,3,4,5};

區域性變數和全域性變數

區域性變數:
(1)在一個函式內部定義的變數,它只在本函式範圍內有效,也就是說只有在本函式內才能使用它們,在此函式以外是不能使用這些變數的
(2)形參屬於區域性變數
(3)在函式宣告中出現的引數名,其作用範圍只在本行的括號內
全域性變數:
(1)在函式內定義的變數是區域性變數
(2)在函式之外定義的變數是外部變數,稱為全域性變數(global variable,也稱全程變數)。

(3)全域性變數的有效範圍為從定義變數的位置開始到本原始檔結束。
靜態變數:
方法外部、類的內部定義的變數,加上了關鍵字“static”(資料段,長駐記憶體,虛擬機器關閉時消失。)

靜態變數可以通過物件和類名訪問,成員變數只能通過物件訪問。

if語句的格式


//if語句的三種格式
        
//格式1        
        if(比較表示式){
            語句體;
        }
        
//格式2
        if(比較表示式){
            語句體1;
        }else{
            語句體2;
        }
//格式3 if(比較表示式1){ 語句體1; }else if(比較表示式2){ 語句體2; }else if(比較表示式3){ 語句體3; } ... else{ 語句體n+1 }

關係運算符

1、==是相等運算子。 如果兩個運算元都引用同一個物件,則返回true,否則返回false。
2、!=適用於非等號運算子。 如果兩個運算元都引用不同的物件,則返回true,否則返回false。
3、<小於運算子。
4、>大於運算子。
5、<=小於或等於運算子。
6、> =大於或等於運算子。
注意:=是賦值操作 ==才是布林值判斷

程式碼


public class RunningSum {


    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4};
        int[] result = runningSum(nums);
        for (int i = 0; i < result.length; i++) {
            System.out.println(result[i]);
        }

    }

    public static int[] runningSum(int[] nums) {
        int j = 0;
        int[] result = new int[nums.length];
        for (int i = 0; i < nums.length; i++) {
            if(j == 0){
                result[j] = nums[i];
            }else {
                result[j] = nums[i] + result[j - 1];
            }
            j++;
        }


        return result;
    }


}