c++
有风的一天
极限犹可突破,至臻亦不可止
展开
-
算法学习之动态规划(二)
例题一神奇的口袋有一个神奇的口袋,总的容积为40,用这个口袋可以变出一些物品,这些物品的体积分别为a[1],a[2],a[3]…a[n].John可以从这些物品中选择一些,如果选出的物体的总体积为40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。递推的做法#include <iostream>#define VOLUME_MAX 40using namespace std;int ways[VOLUME_MAX+1];原创 2020-07-20 18:42:24 · 119 阅读 · 0 评论 -
算法学习之动态规划(一)
动态规划的一般思路1、把原问题分解成子问题子问题和原问题的形式要相同或者类似,只不过规模变小了,子问题一旦被解决,原问题也就被解决。2、确定状态往往将和子问题相关的各个变量的一组取值,称为一个状态,一个状态对应一个或者多个子问题,所谓某个状态的值就是这个状态所对应的子问题的解。所有状态的集合,构成问题的“状态空间”。“状态空间”的大小,与用动态规划解决问题的时间复杂度直接相关。** 整个问题的时间复杂度是状态数目乘以计算每个状态所需时间 **。3、确定一些初始状态值4、确定状态转移方程能用原创 2020-07-18 22:28:25 · 129 阅读 · 0 评论 -
算法学习之 分治
题目一两数之和给定一个整数数组,和一个整数值m,要求在这个整数数组里找到两个数使得其和等于要求值m#include <iostream>using namespace std;int b[10];void merge_sort(int a[],int start,int end,int temp[]);void merge(int a[],int start,int mid,int end,int temp[]);void search_result(int a[],int d原创 2020-07-16 23:43:56 · 128 阅读 · 0 评论 -
《剑指offer面试题19》
面试题19:正则表达式匹配题目:请实现一个函数用来匹配’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但与"aa.a"和"ab*a"均不匹配。#include <iostream>using namespace std;bool match(char* str, char* pattern);bool matchCor原创 2020-05-13 23:43:07 · 134 阅读 · 0 评论 -
2020.02.20
//本题来自剑指offer面试题4,笔直只是想做一下学习记录//题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。//请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数#include <iostream>using namespace std;bool find(int matrix[4][4] ,in...原创 2020-02-20 10:43:50 · 83 阅读 · 0 评论 -
粒子群算法
粒子群算法PSO算法,是一种基于迭代的优化算法。系统初始化为一组随机解,通过迭代搜寻最优值。在粒子群算法中,每个个体称为一个粒子,粒子是待求解问题的潜在可能的解,粒子种群由若干个粒子组成。粒子群算法的基本原理是粒子种群在搜索空间以一定的速度飞行, 每个粒子在搜索时,考虑自己搜索到的历史最优位置和种群内其他粒子的历史最优位置, 在此基础上进行位置的变化。更新速度和位置采用以下两个公式:vers...原创 2019-11-08 19:45:50 · 1143 阅读 · 0 评论