- 博客(9)
- 收藏
- 关注
原创 算法分析例题02 数塔问题 动态规划
有形如下图的一个数塔,从顶部出发,在每一结点可以选择向左走或是向右走,一直走到底层,要求找出一条路径,使路径上的数值和最大。分析:贪心算法不适用于此题,因为每一层的选择会影响到其下一层的选择,子解是相互影响的,很喜欢老师上课讲的一句话:在这题中我们不应该盲目地去取每一层的最优解,而是携带着先前的状态去做当前层的决策。这很好地讲述了动态规划问题的精髓,我们由下而上的解决问题时,一要保存子问题的状态,二要利用子问题的状态解决当前问题。法一:自上而下的动态规划在这种动态规划中,起始点唯一,终点为n设.
2020-10-14 09:59:47 1880
原创 LeetCode 39.组合总和 回溯算法
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target的组合。candidates 中的数字可以无限制重复被选取。说明:①所有数字(包括 target)都是正整数。②解集不能包含重复的组合。示例 1:输入:candidates = [2,3,6,7], target = 7, 所求解集为: [ [7], [2,2,3] ]示例 2:输入:candidates = [2,3,5], target =.
2020-09-21 22:19:34 126
原创 LeetCode 78.子集 位运算 回溯算法
给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]方法一 位运算可以使用0-1序列来表示每个子集,0表示不包含此元素,1表示包含此元素。例如:[1] -> 100[1, 2] -> 110[1, 2, 3] -> 111而一个包含.
2020-09-20 22:23:10 172
原创 Java实现目录递归拷贝
在目录拷贝的过程中,涉及到拷贝其子文件和子目录已经子目录下的子文件和子目录的递归拷贝问题,代码如下import java.io.*;public class DirCopy { public static void main(String[] args) throws Exception { File f1 = new File("F:\\ExampleSource"); // the directory to be copied File f2 = ne
2020-07-19 11:38:09 325
原创 Java中关于Integer++的问题
今天晚上在研究多线程相关问题的时候,写到如下程序实现两个线程交替输出1 2 3 4 5 ······public class ThreadTest { public static void main(String[] args) { Integer integer = new Integer(1); // 共享对象integer // 共享对象传入两个线程中 Thread t1 = new Thread(new MyThread1(integer));
2020-07-15 00:33:55 2832 3
原创 LeetCode 279.完全平方数 343.整数拆分 分析理解
279.完全平方数给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4.class Solution {public: int numSquares(int n) { int *arr = new ...
2020-04-18 17:01:38 655
原创 LeetCode 300.最长上升子序列 分析理解
题目描述:给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为 O(n²) 。进阶:你能将算法的时间复杂度降低到 O(nlogn) 吗?一、DP 时...
2020-04-17 00:28:28 163
原创 LeetCode 134.加油站 分析理解
题目描述:在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数...
2020-03-01 21:41:15 83
原创 快速幂相关知识点
一、普通幂#include <iostream>int main(){ int a, b; int result = 1; std::cin >> a >> b; for (int i = 0; i < b; i++) { result *= a; } std::cout << result << std:...
2020-02-25 22:34:50 189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人