Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d1afef3

Browse files
20200820
1 parent f251be3 commit d1afef3

File tree

2 files changed

+71
-0
lines changed

2 files changed

+71
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
* @lc app=leetcode id=1155 lang=java
3+
*
4+
* [1155] Number of Dice Rolls With Target Sum
5+
*/
6+
7+
// @lc code=start
8+
class Solution {
9+
/*
10+
dfs会超时, dfs+memo
11+
time: O(d * f * target)
12+
space: O(d * f)
13+
*/
14+
public int numRollsToTarget(int d, int f, int target) {
15+
int[][] memo = new int[d + 1][target + 1];
16+
for (int[] arr : memo) {
17+
Arrays.fill(arr, -1);
18+
}
19+
return dfs(d, f, target, memo);
20+
}
21+
22+
private int dfs(int d, int f, int target, int[][] memo) {
23+
if (d == 0 || target <= 0) {
24+
return d == 0 && target == 0 ? 1 : 0;
25+
}
26+
if (memo[d][target] != -1) return memo[d][target];
27+
int res = 0;
28+
for (int i = 1; i <= f; ++i) {
29+
res += dfs(d - 1, f, target - i, memo);
30+
res %= 1000000007;
31+
}
32+
memo[d][target] = res;
33+
return res;
34+
}
35+
}
36+
// @lc code=end
37+

‎Java/824.goat-latin.java‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* @lc app=leetcode id=824 lang=java
3+
*
4+
* [824] Goat Latin
5+
*/
6+
7+
// @lc code=start
8+
class Solution {
9+
public String toGoatLatin(String S) {
10+
Set<Character> set = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'));
11+
String[] strs = S.split(" ");
12+
StringBuilder[] sbs = new StringBuilder[strs.length];
13+
for (int i = 0; i < sbs.length; ++i) {
14+
sbs[i] = new StringBuilder();
15+
}
16+
for (int i = 0; i < sbs.length; ++i) {
17+
if (set.contains(strs[i].charAt(0))) {
18+
sbs[i].append(strs[i]);
19+
} else {
20+
sbs[i].append(strs[i].substring(1)).append(strs[i].charAt(0));
21+
}
22+
sbs[i].append("ma");
23+
for (int j = 0; j <= i; ++j) {
24+
sbs[i].append("a");
25+
}
26+
}
27+
for (int i = 1; i < sbs.length; ++i) {
28+
sbs[0].append(" ").append(sbs[i]);
29+
}
30+
return sbs[0].toString();
31+
}
32+
}
33+
// @lc code=end
34+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /