2023年 1月10日 星期日
題目描述:
給定乙個無重複元素的有序整數陣列 nums 。
返回 恰好覆蓋陣列中所有數字 的 最小有序 區間範圍列表。也就是說,nums 的每個元素都恰好被某個區間範圍所覆蓋,並且不存在屬於某個範圍但不屬於 nums 的數字 x 。
列表中的每個區間範圍 [a,b] 應該按如下格式輸出:
"a->b" ,如果 a != b
"a" ,如果 a == b
示例 1:
輸入:nums = [0,1,2,4,5,7]
輸出:["0->2","4->5","7"]
解釋:區間範圍是:
[0,2] --> "0->2"
[4,5] --> "4->5"
[7,7] --> "7"
示例 2:
輸入:nums = [0,2,3,4,6,8,9]
輸出:["0","2->4","6","8->9"]
解釋:區間範圍是:
[0,0] --> "0"
[2,4] --> "2->4"
[6,6] --> "6"
[8,9] --> "8->9"
示例 3:
輸入:nums = [ ]
輸出:[ ]
示例 4:
輸入:nums = [-1]
輸出:["-1"]
示例 5:
輸入:nums = [0]
輸出:["0"]
0 <= nums.length <= 20
-231 <= nums[i] <= 231 - 1
nums 中的所有值都 互不相同
nums 按公升序排列
我寫的**是這樣的:
1 #include2 #include3char ** summaryranges(int* nums, int numssize, int*returnsize)
12for(; ; i++)16}
17if(p!=i)
20else
if(p == i)
23if(i!=numssize-1)26
27}28 printf("]"
);29
return0;
30}31int
main();
33int numssize = sizeof(nums)/sizeof(int); //
求出陣列的長度
34int returnsize[10
];35
summaryranges(nums,numssize,returnsize);
36return0;
37 }
說明一下:其中的returnsize陣列我沒有用,我直接在函式中輸出了。。。原因是我看不太懂leetcode想要我輸出什麼,難道是在int型別的陣列中輸出帶有"->"的?很奇怪。。吐槽
我想了想,試試這樣可不可以:例如,應該輸出的是["0->2","4->5","7"],我將returnsize陣列內填上0,2,4,5,7?試一試叭。
不得不想吐槽一下力扣。。。
228 彙總區間 力扣(LeetCode)
給定乙個無重複元素的有序整數陣列,返回陣列區間範圍的彙總。示例 1 輸入 0,1,2,4,5,7 輸出 0 2 4 5 7 解釋 0,1,2 可組成乙個連續的區間 4,5 可組成乙個連續的區間。示例 2 輸入 0,2,3,4,6,8,9 輸出 0 2 4 6 8 9 解釋 2,3,4 可組成乙個連續...
合併區間(力扣56)
題目描述 給出乙個區間的集合,請合併所有重疊的區間。輸入輸出示例 示例 1 輸入 intervals 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 intervals 1,4 4,5 輸出 1,5...
力扣 區間列表的交集
給定兩個由一些閉區間組成的列表,每個區間列表都是成對不相交的,並且已經排序。返回這兩個區間列表的交集。形式上,閉區間 a,b 其中a b 表示實數x的集合,而a x b。兩個閉區間的交集是一組實數,要麼為空集,要麼為閉區間。例如,1,3 和 2,4 的交集為 2,3 示例 輸入 a 0,2 5,10...