Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
一梦清浅…
leetcode
提交
cad5a428
L
leetcode
项目概览
一梦清浅…
/
leetcode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
leetcode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
cad5a428
编写于
1月 19, 2019
作者:
L
liu13
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
20190119
上级
6c4a4796
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
92 addition
and
7 deletion
+92
-7
code/lc494.java
code/lc494.java
+32
-0
code/lc621.java
code/lc621.java
+24
-0
code/lc647.java
code/lc647.java
+29
-0
readme.md
readme.md
+7
-7
未找到文件。
code/lc494.java
0 → 100644
浏览文件 @
cad5a428
package
code
;
/*
* 494. Target Sum
* 题意:给数组中的元素赋加减号,使得和为target的分配方案有几种
* 难度:Medium
* 分类:Dynamic Programming, Depth-first Search
* 思路:可以用递归+mem的方法。也可以转化为0,1背包问题,注意dp的时候把下标移位。另一种方法是转化为子数组的和为(target + sum(nums))/2的问题,求解方法类似lc416
* Tips:多抽象总结一下相关的问题,如何抽象出背包。对于这个数字,要么+,要么-,就两种情况。
*/
public
class
lc494
{
public
int
findTargetSumWays
(
int
[]
nums
,
int
S
)
{
int
sum
=
0
;
for
(
int
i
:
nums
)
{
sum
+=
i
;
}
if
(
S
>
sum
||
S
<-
sum
)
return
0
;
int
[]
dp
=
new
int
[
sum
*
2
+
1
];
//还有0,所以+1
dp
[
sum
]
=
1
;
for
(
int
i
=
0
;
i
<
nums
.
length
;
i
++)
{
int
[]
dp2
=
new
int
[
sum
*
2
+
1
];
for
(
int
j
=
0
;
j
<
dp
.
length
;
j
++)
{
if
(
j
+
nums
[
i
]<
dp
.
length
)
//判断下别越界了
dp2
[
j
+
nums
[
i
]]
+=
dp
[
j
];
// +=dp[j] 求得是总数
if
(
j
-
nums
[
i
]>=
0
)
dp2
[
j
-
nums
[
i
]]
+=
dp
[
j
];
}
dp
=
dp2
;
}
return
dp
[
S
+
sum
];
}
}
code/lc621.java
0 → 100644
浏览文件 @
cad5a428
package
code
;
/*
* 621. Task Scheduler
* 题意:一系列任务,相同任务之间至少有n个时间间隔,问最少执行时间
* 难度:Medium
* 分类:Array, Greedy, Tree
* 思路:统计出出现次数最多的那个任务的出现次数,再统计下和他相同次数的任务个数,返回 (max-1)*(n+1)+count 即可
* Tips:
*/
public
class
lc621
{
public
int
leastInterval
(
char
[]
tasks
,
int
n
)
{
int
[]
map
=
new
int
[
26
];
int
max
=
0
;
for
(
char
ch
:
tasks
)
{
map
[
ch
-
'A'
]
+=
1
;
max
=
Math
.
max
(
map
[
ch
-
'A'
],
max
);
}
int
count
=
0
;
for
(
int
i:
map
){
if
(
i
==
max
)
count
++;
}
return
Math
.
max
(
tasks
.
length
,
(
max
-
1
)*(
n
+
1
)+
count
);
// max-1 不算最后一个周期, 最后一个周期时间是count,间隔为n,周期为n+1
}
}
code/lc647.java
0 → 100644
浏览文件 @
cad5a428
package
code
;
/*
* 647. Palindromic Substrings
* 题意:一个字符串里有多少个回文子串
* 难度:Medium
* 分类:String, Dynamic Programming
* 思路:时间为N^2,用二维dp空间复杂度是N^2. 该题直接让判断是否回文,直接选择找中心字符,向两边拓展,空间为O(1)
* Tips:
*/
public
class
lc647
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
countSubstrings
(
"aaa"
));
}
public
static
int
countSubstrings
(
String
s
)
{
int
count
=
0
;
for
(
int
i
=
0
;
i
<
s
.
length
()
;
i
++)
{
for
(
int
j
=
0
;
j
<
2
;
j
++)
{
//中心可能是两个字符,也可能是一个字符
int
left
=
i
;
int
right
=
left
+
j
;
while
(
left
>=
0
&&
right
<
s
.
length
()
&&
s
.
charAt
(
left
)==
s
.
charAt
(
right
)){
count
++;
left
--;
right
++;
}
}
}
return
count
;
}
}
readme.md
浏览文件 @
cad5a428
...
...
@@ -106,13 +106,13 @@ Welcome to improve this project with me.*
| 337 |
[
House Robber III
](
https://leetcode.com/problems/house-robber-iii/
)
|Medium|
[
Java
](
./code/lc337.java
)
| 338 |
[
Counting Bits
](
https://leetcode.com/problems/counting-bits/
)
|Medium|
[
Java
](
./code/lc338.java
)
| 347 |
[
Top K Frequent Elements
](
https://leetcode.com/problems/top-k-frequent-elements/
)
|Medium|
[
Java
](
./code/lc347.java
)
| 394 |
[
Decode String
](
https://leetcode.com/problems/decode-string/
)
|Medium| [Java]
| 406 |
[
Queue Reconstruction by Height
](
https://leetcode.com/problems/queue-reconstruction-by-height/
)
|Medium| [Java]
| 416 |
[
Partition Equal Subset Sum
](
https://leetcode.com/problems/partition-equal-subset-sum/
)
|Medium| [Java]
| 437 |
[
Path Sum III
](
https://leetcode.com/problems/path-sum-iii/
)
| Easy |[Java]
| 394 |
[
Decode String
](
https://leetcode.com/problems/decode-string/
)
|Medium|
[
Java
]
(
./code/lc394.java
)
| 406 |
[
Queue Reconstruction by Height
](
https://leetcode.com/problems/queue-reconstruction-by-height/
)
|Medium|
[
Java
]
(
./code/lc406.java
)
| 416 |
[
Partition Equal Subset Sum
](
https://leetcode.com/problems/partition-equal-subset-sum/
)
|Medium|
[
Java
]
(
./code/lc416.java
)
| 437 |
[
Path Sum III
](
https://leetcode.com/problems/path-sum-iii/
)
| Easy |
[
Java
]
(
./code/lc437.java
)
| 438 |
[
Find All Anagrams in a String
](
https://leetcode.com/problems/find-all-anagrams-in-a-string/
)
| Easy |
[
Java
](
./code/lc438.java
)
| 448 |
[
Find All Numbers Disappeared in an Array
](
https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/
)
| Easy | [Java]
| 461 |
[
Hamming Distance
](
https://leetcode.com/problems/hamming-distance/
)
| Easy |[Java]
| 461 |
[
Hamming Distance
](
https://leetcode.com/problems/hamming-distance/
)
| Easy |
[
Java
]
(
./code/lc494.java
)
| 494 |
[
Target Sum
](
https://leetcode.com/problems/target-sum/
)
|Medium|[Java]
| 538 |
[
Convert BST to Greater Tree
](
https://leetcode.com/problems/convert-bst-to-greater-tree/description/
)
| Easy |[Java]
| 543 |
[
Diameter of Binary Tree
](
https://leetcode.com/problems/diameter-of-binary-tree/description/
)
| Easy | [Java]
...
...
@@ -120,6 +120,6 @@ Welcome to improve this project with me.*
| 572 |
[
Subtree of Another Tree
](
https://leetcode.com/problems/subtree-of-another-tree/description/
)
| Easy | [Java]
| 581 |
[
Shortest Unsorted Continuous Subarray
](
https://leetcode.com/problems/shortest-unsorted-continuous-subarray/description/
)
| Easy | [Java]
| 617 |
[
Merge Two Binary Trees
](
https://leetcode.com/problems/merge-two-binary-trees/description/
)
| Easy | [Java]
| 621 |
[
Task Scheduler
](
https://leetcode.com/problems/task-scheduler
)
|Medium| [Java]
|
| 647 |
[
Palindromic Substrings
](
https://leetcode.com/problems/palindromic-substrings
)
|Medium|[Java]
| 621 |
[
Task Scheduler
](
https://leetcode.com/problems/task-scheduler
)
|Medium|
[
Java
]
(
./code/lc621.java
)
| 647 |
[
Palindromic Substrings
](
https://leetcode.com/problems/palindromic-substrings
)
|Medium|
[
Java
]
(
./code/lc647.java
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录