Skip to content

Commit 5c73abf

Browse files
committed
no message
1 parent e784fb3 commit 5c73abf

File tree

4 files changed

+363
-0
lines changed

4 files changed

+363
-0
lines changed
Lines changed: 285 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,285 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 50;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
7756F2B7252A3926004D8BB4 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7756F2B6252A3926004D8BB4 /* main.swift */; };
11+
/* End PBXBuildFile section */
12+
13+
/* Begin PBXCopyFilesBuildPhase section */
14+
7756F2B1252A3925004D8BB4 /* CopyFiles */ = {
15+
isa = PBXCopyFilesBuildPhase;
16+
buildActionMask = 2147483647;
17+
dstPath = /usr/share/man/man1/;
18+
dstSubfolderSpec = 0;
19+
files = (
20+
);
21+
runOnlyForDeploymentPostprocessing = 1;
22+
};
23+
/* End PBXCopyFilesBuildPhase section */
24+
25+
/* Begin PBXFileReference section */
26+
7756F2B3252A3926004D8BB4 /* DS_ALGO_PRAC */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = DS_ALGO_PRAC; sourceTree = BUILT_PRODUCTS_DIR; };
27+
7756F2B6252A3926004D8BB4 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
28+
/* End PBXFileReference section */
29+
30+
/* Begin PBXFrameworksBuildPhase section */
31+
7756F2B0252A3925004D8BB4 /* Frameworks */ = {
32+
isa = PBXFrameworksBuildPhase;
33+
buildActionMask = 2147483647;
34+
files = (
35+
);
36+
runOnlyForDeploymentPostprocessing = 0;
37+
};
38+
/* End PBXFrameworksBuildPhase section */
39+
40+
/* Begin PBXGroup section */
41+
7756F2AA252A3925004D8BB4 = {
42+
isa = PBXGroup;
43+
children = (
44+
7756F2B5252A3926004D8BB4 /* DS_ALGO_PRAC */,
45+
7756F2B4252A3926004D8BB4 /* Products */,
46+
);
47+
sourceTree = "<group>";
48+
};
49+
7756F2B4252A3926004D8BB4 /* Products */ = {
50+
isa = PBXGroup;
51+
children = (
52+
7756F2B3252A3926004D8BB4 /* DS_ALGO_PRAC */,
53+
);
54+
name = Products;
55+
sourceTree = "<group>";
56+
};
57+
7756F2B5252A3926004D8BB4 /* DS_ALGO_PRAC */ = {
58+
isa = PBXGroup;
59+
children = (
60+
7756F2B6252A3926004D8BB4 /* main.swift */,
61+
);
62+
path = DS_ALGO_PRAC;
63+
sourceTree = "<group>";
64+
};
65+
/* End PBXGroup section */
66+
67+
/* Begin PBXNativeTarget section */
68+
7756F2B2252A3925004D8BB4 /* DS_ALGO_PRAC */ = {
69+
isa = PBXNativeTarget;
70+
buildConfigurationList = 7756F2BA252A3926004D8BB4 /* Build configuration list for PBXNativeTarget "DS_ALGO_PRAC" */;
71+
buildPhases = (
72+
7756F2AF252A3925004D8BB4 /* Sources */,
73+
7756F2B0252A3925004D8BB4 /* Frameworks */,
74+
7756F2B1252A3925004D8BB4 /* CopyFiles */,
75+
);
76+
buildRules = (
77+
);
78+
dependencies = (
79+
);
80+
name = DS_ALGO_PRAC;
81+
productName = DS_ALGO_PRAC;
82+
productReference = 7756F2B3252A3926004D8BB4 /* DS_ALGO_PRAC */;
83+
productType = "com.apple.product-type.tool";
84+
};
85+
/* End PBXNativeTarget section */
86+
87+
/* Begin PBXProject section */
88+
7756F2AB252A3925004D8BB4 /* Project object */ = {
89+
isa = PBXProject;
90+
attributes = {
91+
LastSwiftUpdateCheck = 1170;
92+
LastUpgradeCheck = 1170;
93+
ORGANIZATIONNAME = "Partho Biswas";
94+
TargetAttributes = {
95+
7756F2B2252A3925004D8BB4 = {
96+
CreatedOnToolsVersion = 11.7;
97+
};
98+
};
99+
};
100+
buildConfigurationList = 7756F2AE252A3925004D8BB4 /* Build configuration list for PBXProject "DS_ALGO_PRAC" */;
101+
compatibilityVersion = "Xcode 9.3";
102+
developmentRegion = en;
103+
hasScannedForEncodings = 0;
104+
knownRegions = (
105+
en,
106+
Base,
107+
);
108+
mainGroup = 7756F2AA252A3925004D8BB4;
109+
productRefGroup = 7756F2B4252A3926004D8BB4 /* Products */;
110+
projectDirPath = "";
111+
projectRoot = "";
112+
targets = (
113+
7756F2B2252A3925004D8BB4 /* DS_ALGO_PRAC */,
114+
);
115+
};
116+
/* End PBXProject section */
117+
118+
/* Begin PBXSourcesBuildPhase section */
119+
7756F2AF252A3925004D8BB4 /* Sources */ = {
120+
isa = PBXSourcesBuildPhase;
121+
buildActionMask = 2147483647;
122+
files = (
123+
7756F2B7252A3926004D8BB4 /* main.swift in Sources */,
124+
);
125+
runOnlyForDeploymentPostprocessing = 0;
126+
};
127+
/* End PBXSourcesBuildPhase section */
128+
129+
/* Begin XCBuildConfiguration section */
130+
7756F2B8252A3926004D8BB4 /* Debug */ = {
131+
isa = XCBuildConfiguration;
132+
buildSettings = {
133+
ALWAYS_SEARCH_USER_PATHS = NO;
134+
CLANG_ANALYZER_NONNULL = YES;
135+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
136+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
137+
CLANG_CXX_LIBRARY = "libc++";
138+
CLANG_ENABLE_MODULES = YES;
139+
CLANG_ENABLE_OBJC_ARC = YES;
140+
CLANG_ENABLE_OBJC_WEAK = YES;
141+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
142+
CLANG_WARN_BOOL_CONVERSION = YES;
143+
CLANG_WARN_COMMA = YES;
144+
CLANG_WARN_CONSTANT_CONVERSION = YES;
145+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
146+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
147+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
148+
CLANG_WARN_EMPTY_BODY = YES;
149+
CLANG_WARN_ENUM_CONVERSION = YES;
150+
CLANG_WARN_INFINITE_RECURSION = YES;
151+
CLANG_WARN_INT_CONVERSION = YES;
152+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
153+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
154+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
155+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
156+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
157+
CLANG_WARN_STRICT_PROTOTYPES = YES;
158+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
159+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
160+
CLANG_WARN_UNREACHABLE_CODE = YES;
161+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
162+
COPY_PHASE_STRIP = NO;
163+
DEBUG_INFORMATION_FORMAT = dwarf;
164+
ENABLE_STRICT_OBJC_MSGSEND = YES;
165+
ENABLE_TESTABILITY = YES;
166+
GCC_C_LANGUAGE_STANDARD = gnu11;
167+
GCC_DYNAMIC_NO_PIC = NO;
168+
GCC_NO_COMMON_BLOCKS = YES;
169+
GCC_OPTIMIZATION_LEVEL = 0;
170+
GCC_PREPROCESSOR_DEFINITIONS = (
171+
"DEBUG=1",
172+
"$(inherited)",
173+
);
174+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
175+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
176+
GCC_WARN_UNDECLARED_SELECTOR = YES;
177+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
178+
GCC_WARN_UNUSED_FUNCTION = YES;
179+
GCC_WARN_UNUSED_VARIABLE = YES;
180+
MACOSX_DEPLOYMENT_TARGET = 10.15;
181+
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
182+
MTL_FAST_MATH = YES;
183+
ONLY_ACTIVE_ARCH = YES;
184+
SDKROOT = macosx;
185+
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
186+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
187+
};
188+
name = Debug;
189+
};
190+
7756F2B9252A3926004D8BB4 /* Release */ = {
191+
isa = XCBuildConfiguration;
192+
buildSettings = {
193+
ALWAYS_SEARCH_USER_PATHS = NO;
194+
CLANG_ANALYZER_NONNULL = YES;
195+
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
196+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
197+
CLANG_CXX_LIBRARY = "libc++";
198+
CLANG_ENABLE_MODULES = YES;
199+
CLANG_ENABLE_OBJC_ARC = YES;
200+
CLANG_ENABLE_OBJC_WEAK = YES;
201+
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
202+
CLANG_WARN_BOOL_CONVERSION = YES;
203+
CLANG_WARN_COMMA = YES;
204+
CLANG_WARN_CONSTANT_CONVERSION = YES;
205+
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
206+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
207+
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
208+
CLANG_WARN_EMPTY_BODY = YES;
209+
CLANG_WARN_ENUM_CONVERSION = YES;
210+
CLANG_WARN_INFINITE_RECURSION = YES;
211+
CLANG_WARN_INT_CONVERSION = YES;
212+
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
213+
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
214+
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
215+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
216+
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
217+
CLANG_WARN_STRICT_PROTOTYPES = YES;
218+
CLANG_WARN_SUSPICIOUS_MOVE = YES;
219+
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
220+
CLANG_WARN_UNREACHABLE_CODE = YES;
221+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
222+
COPY_PHASE_STRIP = NO;
223+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
224+
ENABLE_NS_ASSERTIONS = NO;
225+
ENABLE_STRICT_OBJC_MSGSEND = YES;
226+
GCC_C_LANGUAGE_STANDARD = gnu11;
227+
GCC_NO_COMMON_BLOCKS = YES;
228+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
229+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
230+
GCC_WARN_UNDECLARED_SELECTOR = YES;
231+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
232+
GCC_WARN_UNUSED_FUNCTION = YES;
233+
GCC_WARN_UNUSED_VARIABLE = YES;
234+
MACOSX_DEPLOYMENT_TARGET = 10.15;
235+
MTL_ENABLE_DEBUG_INFO = NO;
236+
MTL_FAST_MATH = YES;
237+
SDKROOT = macosx;
238+
SWIFT_COMPILATION_MODE = wholemodule;
239+
SWIFT_OPTIMIZATION_LEVEL = "-O";
240+
};
241+
name = Release;
242+
};
243+
7756F2BB252A3926004D8BB4 /* Debug */ = {
244+
isa = XCBuildConfiguration;
245+
buildSettings = {
246+
CODE_SIGN_STYLE = Automatic;
247+
PRODUCT_NAME = "$(TARGET_NAME)";
248+
SWIFT_VERSION = 5.0;
249+
};
250+
name = Debug;
251+
};
252+
7756F2BC252A3926004D8BB4 /* Release */ = {
253+
isa = XCBuildConfiguration;
254+
buildSettings = {
255+
CODE_SIGN_STYLE = Automatic;
256+
PRODUCT_NAME = "$(TARGET_NAME)";
257+
SWIFT_VERSION = 5.0;
258+
};
259+
name = Release;
260+
};
261+
/* End XCBuildConfiguration section */
262+
263+
/* Begin XCConfigurationList section */
264+
7756F2AE252A3925004D8BB4 /* Build configuration list for PBXProject "DS_ALGO_PRAC" */ = {
265+
isa = XCConfigurationList;
266+
buildConfigurations = (
267+
7756F2B8252A3926004D8BB4 /* Debug */,
268+
7756F2B9252A3926004D8BB4 /* Release */,
269+
);
270+
defaultConfigurationIsVisible = 0;
271+
defaultConfigurationName = Release;
272+
};
273+
7756F2BA252A3926004D8BB4 /* Build configuration list for PBXNativeTarget "DS_ALGO_PRAC" */ = {
274+
isa = XCConfigurationList;
275+
buildConfigurations = (
276+
7756F2BB252A3926004D8BB4 /* Debug */,
277+
7756F2BC252A3926004D8BB4 /* Release */,
278+
);
279+
defaultConfigurationIsVisible = 0;
280+
defaultConfigurationName = Release;
281+
};
282+
/* End XCConfigurationList section */
283+
};
284+
rootObject = 7756F2AB252A3925004D8BB4 /* Project object */;
285+
}

leetcode.com/swift/DS_ALGO_PRAC/DS_ALGO_PRAC.xcodeproj/project.xcworkspace/contents.xcworkspacedata

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>IDEDidComputeMac32BitWarning</key>
6+
<true/>
7+
</dict>
8+
</plist>
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import Foundation
2+
class Solution {
3+
func alphabetBoardPath(_ target: String) -> String {
4+
5+
let board_array = ["abcde", "fghij", "klmno", "pqrst", "uvwxy", "z"]
6+
.map { Array($0)
7+
.map { String($0) } }
8+
9+
let target_array = Array(target)
10+
.map { String($0) }
11+
12+
var current_target_index = 0
13+
var queue = [(Int, Int, String)]()
14+
var visitedSet = Set<String>()
15+
var result = ""
16+
17+
queue.append((0, 0, ""))
18+
visitedSet.insert(board_array[0][0])
19+
20+
while queue.isEmpty == false {
21+
var (row, col, path) = queue.removeFirst()
22+
23+
if board_array[row][col] == target_array[current_target_index] {
24+
25+
path += "!"
26+
current_target_index += 1
27+
visitedSet.removeAll()
28+
queue.removeAll()
29+
visitedSet.insert(board_array[row][col])
30+
queue.append((row, col, path))
31+
32+
if current_target_index >= target_array.count {
33+
result = path
34+
break
35+
} else {
36+
continue
37+
}
38+
}
39+
40+
for neighbor in [ (-1,0,"U"), (0,1,"R"), (1,0,"D"), (0,-1,"L") ] {
41+
let (new_row, new_col, direction) = (row + neighbor.0, col + neighbor.1, neighbor.2)
42+
if new_row < board_array.count &&
43+
new_row >= 0 &&
44+
new_col < board_array[new_row].count &&
45+
new_col >= 0 &&
46+
!visitedSet.contains(board_array[new_row][new_col]) {
47+
48+
visitedSet.insert(board_array[new_row][new_col])
49+
queue.append((new_row, new_col, path + direction))
50+
}
51+
}
52+
}
53+
return result
54+
}
55+
}
56+
57+
58+
59+
let solution = Solution()
60+
61+
let input = "code"
62+
let output = solution.alphabetBoardPath(input)
63+
print("Result: \(output)")

0 commit comments

Comments
 (0)