File tree Expand file tree Collapse file tree 5 files changed +126
-0
lines changed
solution/0700-0799/0771.Jewels and Stones Expand file tree Collapse file tree 5 files changed +126
-0
lines changed Original file line number Diff line number Diff line change @@ -123,6 +123,53 @@ var numJewelsInStones = function (jewels, stones) {
123
123
};
124
124
```
125
125
126
+ ### ** TypeScript**
127
+
128
+ ``` ts
129
+ function numJewelsInStones(jewels : string , stones : string ): number {
130
+ const set = new Set ([... jewels ]);
131
+ let ans = 0 ;
132
+ for (const c of stones ) {
133
+ set .has (c ) && ans ++ ;
134
+ }
135
+ return ans ;
136
+ }
137
+ ```
138
+
139
+ ### ** Rust**
140
+
141
+ ``` rust
142
+ use std :: collections :: HashSet ;
143
+ impl Solution {
144
+ pub fn num_jewels_in_stones (jewels : String , stones : String ) -> i32 {
145
+ let mut set = jewels . as_bytes (). iter (). collect :: <HashSet <& u8 >>();
146
+ let mut ans = 0 ;
147
+ for c in stones . as_bytes () {
148
+ if set . contains (c ) {
149
+ ans += 1 ;
150
+ }
151
+ }
152
+ ans
153
+ }
154
+ }
155
+ ```
156
+
157
+ ### ** C**
158
+
159
+ ``` c
160
+ int numJewelsInStones (char * jewels, char * stones) {
161
+ int set[ 128] = {0};
162
+ for (int i = 0; jewels[ i] ; i++) {
163
+ set[ jewels[ i]] = 1;
164
+ }
165
+ int ans = 0;
166
+ for (int i = 0; stones[ i] ; i++) {
167
+ set[ stones[ i]] && ans++;
168
+ }
169
+ return ans;
170
+ }
171
+ ```
172
+
126
173
### **...**
127
174
128
175
```
Original file line number Diff line number Diff line change @@ -100,6 +100,53 @@ var numJewelsInStones = function (jewels, stones) {
100
100
};
101
101
```
102
102
103
+ ### ** TypeScript**
104
+
105
+ ``` ts
106
+ function numJewelsInStones(jewels : string , stones : string ): number {
107
+ const set = new Set ([... jewels ]);
108
+ let ans = 0 ;
109
+ for (const c of stones ) {
110
+ set .has (c ) && ans ++ ;
111
+ }
112
+ return ans ;
113
+ }
114
+ ```
115
+
116
+ ### ** Rust**
117
+
118
+ ``` rust
119
+ use std :: collections :: HashSet ;
120
+ impl Solution {
121
+ pub fn num_jewels_in_stones (jewels : String , stones : String ) -> i32 {
122
+ let mut set = jewels . as_bytes (). iter (). collect :: <HashSet <& u8 >>();
123
+ let mut ans = 0 ;
124
+ for c in stones . as_bytes () {
125
+ if set . contains (c ) {
126
+ ans += 1 ;
127
+ }
128
+ }
129
+ ans
130
+ }
131
+ }
132
+ ```
133
+
134
+ ### ** C**
135
+
136
+ ``` c
137
+ int numJewelsInStones (char * jewels, char * stones) {
138
+ int set[ 128] = {0};
139
+ for (int i = 0; jewels[ i] ; i++) {
140
+ set[ jewels[ i]] = 1;
141
+ }
142
+ int ans = 0;
143
+ for (int i = 0; stones[ i] ; i++) {
144
+ set[ stones[ i]] && ans++;
145
+ }
146
+ return ans;
147
+ }
148
+ ```
149
+
103
150
### **...**
104
151
105
152
```
Original file line number Diff line number Diff line change
1
+ int numJewelsInStones (char * jewels , char * stones ) {
2
+ int set [128 ] = {0 };
3
+ for (int i = 0 ; jewels [i ]; i ++ ) {
4
+ set [jewels [i ]] = 1 ;
5
+ }
6
+ int ans = 0 ;
7
+ for (int i = 0 ; stones [i ]; i ++ ) {
8
+ set [stones [i ]] && ans ++ ;
9
+ }
10
+ return ans ;
11
+ }
Original file line number Diff line number Diff line change
1
+ use std:: collections:: HashSet ;
2
+ impl Solution {
3
+ pub fn num_jewels_in_stones ( jewels : String , stones : String ) -> i32 {
4
+ let mut set = jewels. as_bytes ( ) . iter ( ) . collect :: < HashSet < & u8 > > ( ) ;
5
+ let mut ans = 0 ;
6
+ for c in stones. as_bytes ( ) {
7
+ if set. contains ( c) {
8
+ ans += 1 ;
9
+ }
10
+ }
11
+ ans
12
+ }
13
+ }
Original file line number Diff line number Diff line change
1
+ function numJewelsInStones ( jewels : string , stones : string ) : number {
2
+ const set = new Set ( [ ...jewels ] ) ;
3
+ let ans = 0 ;
4
+ for ( const c of stones ) {
5
+ set . has ( c ) && ans ++ ;
6
+ }
7
+ return ans ;
8
+ }
You can’t perform that action at this time.
0 commit comments