|
[size=1em]想上岸 找上岸 No.1 Check if the Sentence Is Pangram 解题思路 简单遍历字符串判断 非英文字母字符直接返回false 否则记录不同字符的个数是否满足26个 代码展示 - public boolean checkIfPangram(String sentence) {
f( g! c1 \" y8 q/ c - if (sentence == null || sentence.length() == 0) {
( i* H/ q" B; F/ {1 _ - return false; . n8 i. p E, C# r1 r7 y
- } m1 @5 F" ]; k
- Set<Character> set = new HashSet<>();
C; ^0 C' g$ u& [+ B* k/ D - for (char c : sentence.toCharArray()) {
* j; G1 b0 _2 e, ~3 Z% X - if (c - 'a' < 0 || c - 'a' >= 26) { / G" W9 U3 Z8 x
- return false; ' n* f: G3 Y/ D6 ?0 P; z
- } % V5 I4 l; u9 O9 b. o0 d/ L" X0 t
- set.add(c);
, T! T1 C9 v7 D9 s" W - }
5 i% a( @0 V9 V( v h& {5 P/ V/ G6 { - return set.size() == 26;
% N7 F4 q/ z8 @0 z - }
复制代码No.2 Maximum Ice Cream Bars 解题思路 贪心的去买雪糕 无需看成背包问题,TLE or MLE 代码展示 - public int maxIceCream(int[] costs, int coins) { ! w/ R0 U( |- @# { h
- if (costs == null || costs.length == 0) {
* @5 z0 z9 Z1 F% W7 t - return 0;
3 c& P b0 Z! F" y+ f+ J/ q - }
2 G. e: Z: O: j* b* l, g0 W - int n = costs.length;
. K# g0 {* ] A0 Z5 b - int res = 0;
) d" u; e! c: I& i6 t d% V - // 排序从小到大买即可 6 G# d9 V2 X7 G" M- r6 I3 j7 M' {
- Arrays.sort(costs); $ M7 L' ~1 G d8 K! V4 E' s D- d
- for (int cost : costs) {
5 v5 a, n, H) k- o; \ - if (coins > cost) { . q+ E: A+ j5 k8 L7 g$ h* [/ P
- res += 1; 7 n- ]: `. d# l8 v$ g
- coins -= cost; : K6 f& i8 g: Q
- }
1 A! L) s8 b, s' j4 d9 K! j6 F& M, q - else {
7 V- H# {" f+ H5 q: L - return res;
/ H [4 p/ k( e) ~& n7 w8 m - } 8 g4 @* F; L9 x# i) E7 r0 }2 P
- } 0 ], ], t- I4 n
- return res; ; }) G5 i7 p( h3 k4 R1 N
- }
复制代码5 ?6 s2 L5 O8 w- K3 Y0 t
1 p* F4 L3 f- F6 p' U
; n# |; D/ G, _8 P! u h7 \
~# @4 T4 @ E6 e( k: h% l |
6 u) g/ O# k7 c/ H |