陣列逆序對 兌換飲料

2021-10-23 03:12:22 字數 1209 閱讀 3371

思路:陣列的逆序對考題較多,比如示例的陣列:[1,2,3,4,5,6,7,0] 那麼,它包含逆序對有:,,

,,,,總共7個逆序對。再比如陣列,逆序對總共有5對,,,,;

暴力法:設定兩個迴圈,外層迴圈逐漸遍歷陣列,內層迴圈找到比外層的數,找到一次,coun++;最後返回count。

思路:m=k/3 表示每次可以換的飲料瓶數

count表示可以喝的飲料總數

n=k/3剩餘的空瓶數

k=m+n喝的飲料瓶數+空瓶數

**:

public   static  int   drinkbottle(int  nullbottle)

m= k/3;//可以換的飲料瓶數

n= k%3;//剩餘的空瓶數

count+=m;

k=m+n;//喝的飲料瓶數+剩餘數

}return count;

}

super關鍵字的使用:獲取到父類例項的引用 呼叫父類的構造器放在第一行

this關鍵字的使用:代表當前物件的引用

抽象類:抽象類包含抽象方法,抽象方法沒有方法體

抽象類不能夠例項化

抽象方法為public abstract

3.可以包含非抽象的方法,可以擺其他繼承和重寫,也可包含其他字段

static的作用及使用:

1.修飾屬性 :存在於方法區count被static所修飾,所有類共享。且不屬於物件,訪問方式為:類名 . 屬性。

2. 修飾方法:靜態方法(類方法)

string toupercase( ):字串中小寫字母轉化為大寫

string tolowercase( ):字串中小寫字母轉化為小寫

引用型別==引用型別 預設引用equals()比較引用物件的位址

普通方法中不能呼叫靜態方法和變數

陣列中逆序對

題目 在陣列中的兩個數字,如果前面的乙個數字大於後面的數字,則這兩個數字為乙個逆序對。輸入乙個陣列,求這個陣列的逆序對個數。例如 給定陣列 則有 5,3 5,1 8,3 8,1 3,1 這5個逆序對。問題分析 我採用兩種方法來解決這個問題 1 考慮到二叉搜尋樹中每個節點x,它的左子樹所有關鍵字的值小...

求陣列逆序對

在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 題目保證輸入的陣列中沒有的相同的數字 資料範圍 對於 50的資料,size 10 4 對於 75的...

求陣列逆序對

思路 類似歸併排序演算法,在合併已經有序的相鄰子陣列的時候,計算前面陣列相對於後面陣列的逆序對數,整個遞迴過程可以算出所有逆序對 include void merge int a,int front,int middle,int end,int count else if j end while j...