Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // [1,4,5,2,3,9,8,11,0] => "0-5,8-9,11" // [0,1,2,3,4,5,8,9,11]
- // [1,4,3,2] => "1-4" // [1,2,3,4]
- // [1,4] => "1,4"
- //
- // [1, 2, 3, 4, 5], 7]
- private static string ParseToInterval(int[] nums)
- {
- if (nums.Length == 0)
- {
- return string.Empty;
- }
- Arrays.Sort(nums);
- var start = 0;
- var prev = 0;
- var current = 0;
- var strList = new List<string>();
- while(current < nums.Length)
- {
- current++;
- if (nums[current] - nums[prev] == 1) {
- prev++;
- }
- else
- {
- strList.Add(start == prev ? nums[start].ToString() : $"{nums[start]}-{nums[prev]}");
- start = current;
- prev = current;
- }
- }
- strList.Add(start == prev ? nums[start].ToString() : $"{nums[start]}-{nums[prev]}");
- return string.Join(", ", strList);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement