Skip to content

Commit fb2df73

Browse files
committed
add max distance between colors
1 parent 8b2de40 commit fb2df73

6 files changed

Lines changed: 208 additions & 156 deletions

File tree

β€ŽAlgorithm Solutions In Swift.xcodeproj/project.pbxprojβ€Ž

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,10 @@
2727
1F21EF1A2F6899B500E0274E /* TargetIndicies.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F21EF192F6899AB00E0274E /* TargetIndicies.swift */; };
2828
1F21EF1D2F6899E400E0274E /* IsMajorityElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F21EF1C2F6899DC00E0274E /* IsMajorityElement.swift */; };
2929
1F21EF202F689A1B00E0274E /* ArrayIntersection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F21EF1F2F689A1500E0274E /* ArrayIntersection.swift */; };
30-
1F21EF232F689A3D00E0274E /* CountPairs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F21EF222F689A3900E0274E /* CountPairs.swift */; };
30+
1F21EF232F689A3D00E0274E /* CountPairsII.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F21EF222F689A3900E0274E /* CountPairsII.swift */; };
3131
1F21EF262F689A6000E0274E /* FixedPoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F21EF252F689A5900E0274E /* FixedPoint.swift */; };
3232
1F21EF292F689A9B00E0274E /* MaximumCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F21EF282F689A9600E0274E /* MaximumCount.swift */; };
33+
1F21EF2C2F6A556900E0274E /* MaxDistanceColors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F21EF2B2F6A555F00E0274E /* MaxDistanceColors.swift */; };
3334
1F7037522F3E5618002CFFE1 /* Algorithms in Frameworks */ = {isa = PBXBuildFile; productRef = 1F7037512F3E5618002CFFE1 /* Algorithms */; };
3435
1F7037552F3E5642002CFFE1 /* BasicContainers in Frameworks */ = {isa = PBXBuildFile; productRef = 1F7037542F3E5642002CFFE1 /* BasicContainers */; };
3536
1F7037572F3E5642002CFFE1 /* BitCollections in Frameworks */ = {isa = PBXBuildFile; productRef = 1F7037562F3E5642002CFFE1 /* BitCollections */; };
@@ -375,9 +376,10 @@
375376
1F21EF192F6899AB00E0274E /* TargetIndicies.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TargetIndicies.swift; sourceTree = "<group>"; };
376377
1F21EF1C2F6899DC00E0274E /* IsMajorityElement.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IsMajorityElement.swift; sourceTree = "<group>"; };
377378
1F21EF1F2F689A1500E0274E /* ArrayIntersection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArrayIntersection.swift; sourceTree = "<group>"; };
378-
1F21EF222F689A3900E0274E /* CountPairs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountPairs.swift; sourceTree = "<group>"; };
379+
1F21EF222F689A3900E0274E /* CountPairsII.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountPairsII.swift; sourceTree = "<group>"; };
379380
1F21EF252F689A5900E0274E /* FixedPoint.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FixedPoint.swift; sourceTree = "<group>"; };
380381
1F21EF282F689A9600E0274E /* MaximumCount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MaximumCount.swift; sourceTree = "<group>"; };
382+
1F21EF2B2F6A555F00E0274E /* MaxDistanceColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MaxDistanceColors.swift; sourceTree = "<group>"; };
381383
1F85E42D2F500D060097933E /* RecursiveBubbleSort.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecursiveBubbleSort.swift; sourceTree = "<group>"; };
382384
1F85E4302F500D210097933E /* RecusriveInsertionSort.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RecusriveInsertionSort.swift; sourceTree = "<group>"; };
383385
1F85E4352F5062420097933E /* SortedRotated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SortedRotated.swift; sourceTree = "<group>"; };
@@ -807,7 +809,7 @@
807809
1F21EF212F689A3500E0274E /* Count Pairs */ = {
808810
isa = PBXGroup;
809811
children = (
810-
1F21EF222F689A3900E0274E /* CountPairs.swift */,
812+
1F21EF222F689A3900E0274E /* CountPairsII.swift */,
811813
);
812814
path = "Count Pairs";
813815
sourceTree = "<group>";
@@ -828,6 +830,14 @@
828830
path = "Maximum Count";
829831
sourceTree = "<group>";
830832
};
833+
1F21EF2A2F6A555A00E0274E /* Max Distance */ = {
834+
isa = PBXGroup;
835+
children = (
836+
1F21EF2B2F6A555F00E0274E /* MaxDistanceColors.swift */,
837+
);
838+
path = "Max Distance";
839+
sourceTree = "<group>";
840+
};
831841
1F85E42C2F500D010097933E /* Recursive Bubble Sort */ = {
832842
isa = PBXGroup;
833843
children = (
@@ -1603,6 +1613,7 @@
16031613
1F21EF212F689A3500E0274E /* Count Pairs */,
16041614
1F21EF242F689A5400E0274E /* Fixed Point */,
16051615
1F21EF272F689A9200E0274E /* Maximum Count */,
1616+
1F21EF2A2F6A555A00E0274E /* Max Distance */,
16061617
);
16071618
path = LeetCode;
16081619
sourceTree = "<group>";
@@ -3070,6 +3081,7 @@
30703081
6AF5790526A6DCA1007B37CA /* LarrysArray.swift in Sources */,
30713082
6AA826BC2807584F00F79CDF /* GroupAnagrams1.swift in Sources */,
30723083
1F21EF052F68979A00E0274E /* LargestTriangleArea.swift in Sources */,
3084+
1F21EF2C2F6A556900E0274E /* MaxDistanceColors.swift in Sources */,
30733085
6ABBA2862A6C701C00660250 /* HashMap.swift in Sources */,
30743086
6AD56D762C4196F100E06EE0 /* MaximumGain.swift in Sources */,
30753087
6A67AE4E2868E0B000DCD992 /* RiverSizes.swift in Sources */,
@@ -3138,7 +3150,7 @@
31383150
6ABE6FCD26FD071600C6E524 /* SingleNumber.swift in Sources */,
31393151
6A5022FC2856F5E900688107 /* LRUCache.swift in Sources */,
31403152
6AF578AD26A2E7F0007B37CA /* NthFibonacci.swift in Sources */,
3141-
1F21EF232F689A3D00E0274E /* CountPairs.swift in Sources */,
3153+
1F21EF232F689A3D00E0274E /* CountPairsII.swift in Sources */,
31423154
6AE51D3926B3C20500102A7C /* MergeOverlappingIntervals.swift in Sources */,
31433155
1F85E4312F500D2A0097933E /* RecusriveInsertionSort.swift in Sources */,
31443156
6AF5789826A2E728007B37CA /* BranchSums.swift in Sources */,

β€ŽAlgorithm Solutions In Swift/main.swiftβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ import Foundation
1111

1212

1313
//*************** START PRACTICE *************************
14+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//
2+
// MaxDistanceColors.swift
3+
// Algorithm Solutions In Swift
4+
//
5+
// Created by littlebanana on 18/03/26.
6+
//
7+
8+
func maxDistance(_ colors: [Int]) -> Int {
9+
var l = 0, r = colors.count - 1
10+
while colors[l] == colors[r] {
11+
r -= 1
12+
}
13+
let leftDistance = r - l
14+
l = 0
15+
r = colors.count - 1
16+
while colors[l] == colors[r] {
17+
l += 1
18+
}
19+
let rightDistance = r - l
20+
return max(leftDistance, rightDistance)
21+
}
22+
23+
24+
//print(maxDistance([4,4,4,11,4,4,11,4,4,4,4,4]
25+
//
26+
//))

0 commit comments

Comments
Β (0)