Skip to content

Commit 36a5c9e

Browse files
author
wuyinjun
committed
update
1 parent 94471bf commit 36a5c9e

File tree

6 files changed

+368
-0
lines changed

6 files changed

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

42. 接雨水/swift/main/main.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,6 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Bucket
3+
uuid = "65EAFC21-0ACF-4B7F-B698-54366ABAB979"
4+
type = "1"
5+
version = "2.0">
6+
</Bucket>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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>SchemeUserState</key>
6+
<dict>
7+
<key>main.xcscheme_^#shared#^_</key>
8+
<dict>
9+
<key>orderHint</key>
10+
<integer>0</integer>
11+
</dict>
12+
</dict>
13+
</dict>
14+
</plist>
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
//
2+
// main.swift
3+
// main
4+
//
5+
// Created by ByteDance on 4/29/25.
6+
//
7+
8+
import Foundation
9+
10+
class Solution {
11+
// 单调栈
12+
var sum = 0
13+
var stack = [Int]()
14+
func trap(_ height: [Int]) -> Int {
15+
for i in 0 ..< height.count {
16+
if stack.isEmpty {
17+
stack.append(i)
18+
} else {
19+
if height[i] == height[stack.last!] {
20+
stack.removeLast()
21+
stack.append(i)
22+
} else if height[i] <= height[stack.last!] {
23+
stack.append(i)
24+
} else {
25+
while stack.count >= 2 && height[stack.last!] < height[i] {
26+
let b = height[stack.last!]
27+
stack.removeLast()
28+
let lh = height[stack.last!]
29+
let rh = height[i]
30+
let h = min(lh, rh) - b
31+
let w = i - stack.last! - 1
32+
sum += w * h
33+
}
34+
while !stack.isEmpty && height[stack.last!] < height[i] {
35+
stack.removeLast()
36+
}
37+
stack.append(i)
38+
}
39+
}
40+
}
41+
42+
return sum
43+
}
44+
}
45+
46+
let s = Solution()
47+
print(s.trap([0,1,0,2,1,0,1,3,2,1,2,1]))

0 commit comments

Comments
 (0)