1. 程式人生 > 資料庫 >django 反向生成model根據資料庫

django 反向生成model根據資料庫

package Leetcode;

import java.util.Arrays;

/**
 * 給出一個無重疊的 ,按照區間起始端點排序的區間列表。
在列表中插入一個新的區間,你需要確保列表中的區間仍然有序且不重疊(如果有必要的話,可以合併區間)。
 */
/**
 * 思路:1.從左到右找到第一個新區間位置,他可以是與新區間的左邊交叉,也可以是最後一個完全在新區間左邊的區間
 *       2. 找到左邊位置後找右邊放的位置,遍歷找到後面的一個區間,左邊大於等於新區間的右邊,對於中間的區間,重置新區間,左邊是中間節點中最小左,右邊是最大右,直到左邊完全大於新區間
 *       3.新區間插入,右邊完全相離插入
 
*/ public class insertQujian { public static void main(String[] args) { int [][]intervals={{1,3},{6,9}}; int []newInterval={2,5}; int [][]result=insert(intervals, newInterval); int x=0; } public static int[][] insert(int[][] intervals, int[] newInterval) {
if(intervals==null||intervals.length==0){ int [][]result={newInterval}; return result; } int res[][]=new int[intervals.length+1][2]; int i=0; int idx=0; while(i<intervals.length&&intervals[i][1]<newInterval[0]){ res[idx
++]=intervals[i++]; } while(i<intervals.length&&intervals[i][0]<=newInterval[1]){ newInterval[0]=Math.min(intervals[i][0],newInterval[0]); newInterval[1]=Math.max(intervals[i][1],newInterval[1]); i++; } res[idx++]=newInterval; while(i<intervals.length){ res[idx++]=intervals[i++]; } return Arrays.copyOf(res, idx); } }