算法-思维
linweieran
用身体学习
展开
-
算法1-最大连续子数组
真是好久好久都没写这个了,现在要重新开始学习,开始关于算法的学习,计算机主要就是运算各种问题,做计算编程的人就是利用计算机进行各种运算,也就是说,做一些计算机的算法,当然这个算法不是数学的算法。 这次写的是最大连续子数组问题。给定一个数组A[0,...,n-1],求A的连续子数组,使得该子数组的和最大。例如:数组:1,-5,5,6,-4,7,-20,8最大连续子数组为...原创 2018-12-25 20:15:00 · 721 阅读 · 0 评论 -
算法2:双色球模拟;srand()与rand()函数
双色球规则双色球的基本规则是:有两个球红色与蓝色,红色球有5个,取值范围为1-32且每个球的值不可以重复;蓝色球有一个,quwe取值范围是1-16,其值可以与红色球的值重复;为模拟这一随机过程需要使用两个函数,srand() 与rand(),其中:(1)srand(unsigned int)函数头文件是:<stdlib.h>srand()函数原型:void sran...原创 2019-01-16 16:40:37 · 934 阅读 · 0 评论 -
0-1背包问题:动态规划 python 空间优化
0-1背包问题总述0-1背包问题是最简单的问题,此外还要完全背包问题、多重背包问题、混合背包问题、二维费用背包问题、分组背包问题等等。好的参考资料可以见《背包问题九讲》:https://www.kancloud.cn/kancloud/pack/70124其中0-1背包问题是最基本的问题,其问题描述如下:给出n个珍珠的体积v[i]和其价值price[i],将他们装入一个大小为C的背包,...原创 2019-09-06 19:19:16 · 3842 阅读 · 4 评论 -
开3次方根(多次方根)的代码:二分法,python
基本问题:给出n值,求其对应的三次方根的值(该问题可以扩展到多次方根的值)解决思路:该问题的解决思路可以有两个:1)类比于在一堆数列里找某一个符合条件的值x,条件为:,可想而知,最常用的搜索方法为二分法。其基本思路为:假设n=7step1: 7/2=3.5; =42.875>7;step2: 3.5/2= 1.75;=5.359<7;step3: (1...原创 2019-09-17 23:13:48 · 7568 阅读 · 0 评论 -
python 最长递增子串:动态规划
问题描述:给定一个数组str=[5, 3, 4, 8, 6, 7,9],求出其最长递增子串:LongestIncreaseSub=[3,4,6,7,9]解决思路:解决最长子序列(Longest Increase Subset, LIS)问题,使用动态规划(Dynamic Programming,DP),之前说到动态规划的规划(Programming)是表格的意思,是对递归的一种优化,递...原创 2019-09-19 18:25:43 · 5128 阅读 · 2 评论