牛客oj:陣列中的逆序對牛客oj九度oj:
github**: 036-陣列中的逆序對
csdn題解:劍指offer–036-陣列中的逆序對
九度oj
csdn題解
github**
036-陣列中的逆序對
1348-陣列中的逆序對
劍指offer–036-陣列中的逆序對
036-陣列中的逆序對
您也可以選擇回到目錄-劍指offer–題集目錄索引
題目描述
在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。
輸入乙個陣列,求出這個陣列中的逆序對的總數
樣例輸入
7 5 6 4樣例輸出
5兩個 for 迴圈列舉所有的數對,如果是逆序對,則 count++,最終返回 count 即可。時間複雜度o(
n2)
**如下
#include
#include
using
namespace
std;
#define __tmain main
#ifdef __tmain
#define debug cout
#else
#define debug 0 && cout
#endif // __tmain
class solution
int count = 0;
for(unsigned
int i = 0; i < elem.size( ); i++) /// 迴圈每乙個位置的資料}}
return count;
}};int __tmain( )
; vector
vec(arr, arr + 4);
cout
0;}
考慮一下,逆序是說a[i]>a[j],i
class solution
return bubblesort(elem);
}int bubblesort(vector
elem)}}
return count;
}};
class solution
vector
temp(elem.size( ));
int count = inversepairscore(elem, 0, elem.size( ) - 1, temp);
return count;
}int mergeelem(vector
&elem, int start, int mid, int end, vector
&temp)//陣列的歸併操作
else
}debug <<"count = "
= start)//表示前半段陣列中還有元素未放入臨時陣列
while(j>mid)
//將臨時陣列中的元素寫回到原陣列當中去。
for(i = 0; i < k; i++)
copy(elem.begin(), elem.end(), ostream_iterator(cout," "));
return count;
}int inversepairscore(vector
&elem,int start,int end, vector
&temp)
return inversions;
}};
劍指Offer 036兩個鍊錶的第乙個公共結點
036兩個鍊錶的第乙個公共結點 題目 輸入兩個鍊錶,找出它們的第乙個公共結點。其實我一開始並不懂什麼是公共結點,上網一搜才知道,下面就是兩個鍊錶有公共結點 公共結點就是兩個鍊錶的結點的位址值相同,不是結點所含的值相同 方法一 hashset儲存法 思路 可以新建乙個hashset的set,然後先將a...
劍指offer 陣列
資料是最簡單的資料結構,它佔據一塊連續的記憶體並按照順序儲存資料。建立陣列時,首先指點陣列的容量大小,然後根據大小分配記憶體。缺點 空間效率不高。經常有空閒的區域滅有得到充分利用。優點 時間效率很高。可以根據時間效率高的特點,來實現簡單的雜湊表 把陣列的下標設為雜湊表的鍵值,陣列中的每乙個數字設為雜...
劍指offer 陣列
public class 03 陣列中的重複數字 swap number,number i i return 1 交換 public void swap int number,int i,int j public class 03 陣列中的重複數字 return 1 public intfindre...