Day7 | 貪心+優(yōu)先隊列/mybits逆向工程/datetime對應date
//502 IPO
優(yōu)先隊列+貪心
public int findMaximizedCapital(int k, int w, int[] profits, int[] capital) { ? ? ? ?int n = profits.length; ? ? ? ?int curr = 0; ? ? ? ?int[][] arr = new int[n][2]; ? ? ? ?for (int i = 0; i < n; ++i) {
? ? ? ? ? ?arr[i][0] = capital[i];
? ? ? ? ? ?arr[i][1] = profits[i]; //將兩個數(shù)組放進同一個,這樣做方便排序
? ? ? ?}
? ? ? ?Arrays.sort(arr, (a, b) -> a[0] - b[0]);//調(diào)用接口排序 Lambda表達式 拷貝小括號,寫死右箭頭,落地大括號
? ? ? ?PriorityQueue<Integer> pq = new PriorityQueue<>((x, y) -> y - x); //優(yōu)先隊列 設定從大到小的排序
? ? ? ?for (int i = 0; i < k; ++i) { //外層for遍歷 k次 即最多投入k個項目
? ? ? ? ? ?while (curr < n && arr[curr][0] <= w) {
? ? ? ? ? ? ? ?pq.add(arr[curr][1]); //把能夠符合的資本項目都加入到隊列中
? ? ? ? ? ? ? ?curr++;//從小到大的curr 伴隨著w的不斷增大而增加可能存在的資本項
? ? ? ? ? ?} ? ? ? ? ? ?if (!pq.isEmpty()) {
? ? ? ? ? ? ? ?w += pq.poll();
? ? ? ? ? ?} else { ? ? ? ? ? ? ? ?break;
? ? ? ? ? ?}
? ? ? ?} ? ? ? ?return w;
? ?}
2、mybits生成逆向工程
所需要的準備
配置文件,先在mysql中創(chuàng)建好對應的數(shù)據(jù)庫和表。
在配置文件中設置需要生成的表,以及生成dao和bean、mapper和sql的映射文件的位置
然后通過javaio讀取配置文件的方法運行,創(chuàng)建逆向工程。
其中,當mysql中表的數(shù)據(jù)類型為datetime時,對應jave中生成的類型為data
生成的bean‘中并無構(gòu)造器!
3、測試Mapper
使用SpringTest的方式進行測試
/**
* 測試dao層的工作
* 1、導入SpringTest模塊
* 2、@ContextConfiguration 指定Spring配置文件的位置
* 3、直接autowired要使用的組件即可
*/