自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 leetcode 647. Palindromic Substrings

题目连接 leetcode 647. Palindromic Substrings实现class Solution {public: int countSubstrings(string s) { int size = s.size(); vectorvectorint> > dp(size, vectorint>(size, 0)); i

2018-01-21 02:49:15 183

原创 NP证明题《算法概论》第八章

题目 : 练习题8.3证明: 首先,因为String SAT的解可以在多项式时间内验证,所以属于NP问题, 另外, 可以将SAT归约到STRING SAT(将k设置成总个数), 所以STRING SAT是NP完全问题

2018-01-11 21:31:08 442

原创 matlab 使用GUI的一些入门细节

使用matlab实现一些数字图像算法时候,对于一些超参数调优,如果使用GUI的slider来设置,并同步显示处理结果,会方便很多 在初次使用matlab的GUI时候,需要知道一些提示和用法的小细节如何建立GUI文件在matlab的控制台输入 guide, 就会腾出建立gui的窗口 选择适当的模板,然后就可以进入gui编辑器了gui文件结构当设计完GUI窗体口, 会生成一个.m文件,即gui运行文

2017-12-24 15:42:17 1391

原创 leetcode 452. Minimum Number of Arrows to Burst Balloons

题目452. Minimum Number of Arrows to Burst Balloons 等级: medium 标签:贪心思路对pair,以第一个元素为第一排序准则,第二个元素为次要准则排序。 然后从小到大扫描,寻找连续的有交叠部分的pair,然后销毁,计数加一,继续此操作至尾部,计数结果即为答案实现# include <iostream># include <Vector>#

2017-12-22 21:49:57 262

原创 leetcode 406. Queue Reconstruction by Height

题目406. Queue Reconstruction by Height等级:medium 标签:贪心思路现对people数组基于pair的第一个元素(身高)排序,身高从小到大,逐一将people[i]放到结果vector的合适位置,放置方法是,对于结果vector,从左往右跳过people[i].second个有效位置(即还未放置pair的位置,或该位置已经放置了一个pair, 但是pair.

2017-12-21 00:38:33 223

原创 leetcode 122. Best Time to Buy and Sell Stock II

题目122. Best Time to Buy and Sell Stock II 标签: 贪心思路找到除了第一个点的所有峰值,然后,对于每一个峰值,减去与前一个峰值(包括第一个点,如果它也是峰值的话)之间的山谷值得到差值,将所有的差值加起来就是最大收益实现# include <iostream># include <vector>using namespace std;class Solut

2017-12-20 13:58:44 161

原创 leetcode 455. Assign Cookies

题目455. Assign Cookies 等级: easy 标签: 贪心思路对g数组和s数组从小到大排序,然后开始从左到右扫描,找到满足当前的s元素大于等于当前g元素时候,个数加一实现# include <iostream># include <vector># include <algorithm>using namespace std;class Solution {public:

2017-12-20 12:55:11 185

原创 leetcode 516. Longest Palindromic Subsequence

题目链接 516. Longest Palindromic Subsequence等级: medium思路动态规划, df[i][j]表示 s[i … j] 的最长回文字串长度 df[i][j] = max(df[i + 1][j], df[i][j - 1], df[i + 1][j - 1] + 2), if s[i] == s[j]; df[i][j] = max(df[i + 1][j]

2017-12-17 23:06:59 141

原创 leetcode 688. Knight Probability in Chessboard

题目688. Knight Probability in Chessboard 等级: hard思路使用动态规划,对于N*N的方格,外围扩展两层,变成(N+4)(N + 4), 对于外围的两层, df[][][] = 0; df[i][j][k] = sum(df[i + di][j + dj][k - 1])/8.0实现# include <iostream># include <vecto

2017-12-17 21:53:41 391

原创 leetcode 698. Partition to K Equal Sum Subsets

题目链接:698. Partition to K Equal Sum Subsets 等级: medium思路直接使用dfs深搜,深搜过程中,记录以及匹配完全的子集合个数,以及深搜当前状态下的和等实现# include <iostream># include <vector>using namespace std;/*Given an array of integers nums and a

2017-12-17 15:46:40 263

原创 leetcode 64. Minimum Path Sum

64. Minimum Path Sum等级: medium 标签: 动态规划思路使用dp[i][j]表示从grid[i][j]到grid[m][n]的最小cost dp[i][j]=⎧⎩⎨⎪⎪⎪⎪⎪⎪grid[i][j]grid[i][j]+dp[i+1][j]grid[i][j]+dp[i][j+1]min{grid[i][j]+dp[i+1][j],grid[i][j]+dp[i][j+1

2017-11-17 18:28:09 180

原创 leetcode 718. Maximum Length of Repeated Subarray

题目718. Maximum Length of Repeated Subarray 等级:medium 标签: 动态规划思路类似LCS(最长公共字串)的处理方法。使用动态规划 定义dp[i][j] 表示以X[i]和Y[j]作为匹配的最长子数组的最后一个元素的长度,注意,这里X,Y所以都是从1开始,也就是dp[0][*] 表示第一个子数组是空串。时间复杂度为O(n)dp[i][j]=⎧⎩⎨0d

2017-11-17 17:40:27 273

原创 DES的C++实现

/** * author: boyce * date: 2017-10-7 * description: DES */# include <iostream># include <cstring># include <string># include <vector># include <bitset>using namespace std;class DES {public:

2017-10-08 15:52:27 756

原创 leetcode315. Count of Smaller Numbers After Self

题目leetcode315. Count of Smaller Numbers After Self 难度等级: hard思路首先最暴力的方法,就是二重循环遍历a[0 … (n - 1)]。对于每个a[i], 找到a[(i + 1) … (n - 1)]中比a[i]小的数的的个数。时间复杂度是n平方。优化的一个角度是,能不能地在a[(i + 1) … (n - 1)]中找到比a[i]小的数的的个数

2017-09-21 13:29:15 335

原创 leetcode493. Reverse Pairs

题目链接leetcode493. Reverse Pairs 难度等级:hard思路这道题很明显是一般逆序对的变形,我们同样可以使用归并排序来解决。对于已经排序的 a[1 ... n] 和 b[1 ... m]归并。我们在归并的同时,统计满足题目要求的逆序对的个数,如果存在 a[i] > 2*b[j],就此有j对逆序对(a[i], b[j])、(a[i], b[j - 1])、(a[i], b[

2017-09-21 13:00:04 519

原创 leetcode4. Median of Two Sorted Arrays

题目链接leetcode4. Median of Two Sorted Arrays 难度等级:hard思路首先要观察到, a[0 … (n - 1)] 和 b[0 … (m - 1)], 对于 0<= i <= (n - 1), 0 <= j <= (m - 1) min_one = min(a[i], b[j]), 则, min_one在a和b数组的合集的升序的索性值 index <= i

2017-09-12 22:22:43 200

原创 二分查找的几种不同的实现

不多说,直接上代码,注释解释清楚了# include <iostream># include <vector># include <cstring># include <string># include <sstream># include <istream>using namespace std;//////////////////////////////////////////////

2017-09-11 21:10:39 320

原创 leetcode240. Search a 2D Matrix II

题目leetcode240. Search a 2D Matrix II 难度等级:medium思路实现对每一行的二分查找,和每一列的二分查找就可以了 时间复杂度 O(mlgn)O(mlgn)实现class Solution {public: bool bin(vector<vector<int>>& matrix, int axis, int index, int l, int r

2017-09-11 21:07:03 220

原创 leetcode169. Majority Element

题目leetcode169. Majority Element 难度等级:easy思路由于majority member 出现次数大于总数一半,实际上就是求数组的中位数。最简单的思路,就是先排序,然后二分查找到中位数。但其实,可以直接利用快排算法的partition函数,就可以把中位数找出来。具体的做法就是,分块,但分块的中间元素index 等于 中位数的index时,结束。这样,时间复杂度虽然和

2017-09-11 20:57:47 226

原创 leetcode23 Merge k Sorted Lists

题目leetcode23 Merge k Sorted Lists思路就是多路归并,注意判断某一路为空时候的处理就可以了实现class Solution {public: ListNode* mergeKLists(vector<ListNode*>& lists) { int k = lists.size(); if(k == 0) return NULL;

2017-09-11 20:48:49 317

原创 leetcode312. Burst Balloons

题目链接 leetcode 312 Burst Ball难度等级:hard思路总体思路就是利用动规和分治的思想。要注意到一点,对于arr[0 ... (n - 1)], 若arr[i]是最后一个取出的元素,则arr[0 ... (i - 1)] 和 arr[ (i + 1) ... (n - 1)]是两个互补干扰的子部分,所以可以利用将大数组拆分成两部分,然后递归求解。则 max_sum(arr[

2017-09-11 18:25:35 218

原创 使用PySide实现生命游戏

生命游戏的规则可以直接百度生命游戏使用PySide主要思路是创建一个主要的窗体QWidget, 通过QPainter来重绘窗体来显示元胞位置,可以先抽象成每个位置是一个点,用一个二维数组来记录gridworld上的地图, 每次扫描地图,确定每个位置周围活细胞数目,也用一个二维数组记录下来,然后在下一个时间时重绘 使用QBasicTimer来做定时器,具体做法是,在窗体类 里面创建一个QBasic

2017-07-19 18:48:26 780

原创 python 函数的缺省参数的注意事项

python的函数支持4种形式的参数:分别是必选参数、 缺省参数、 可变长参数、关键字参数;而且参数的书写顺序也是又一定规定的,顺序如下 def fun(param, default_params, arbitrary_params, keyword_param)下面针对缺省型参数分析一些注意事项 先定义这样子一个函数 def test_fun(a=[]): a.append('a')

2017-02-23 00:54:28 2165

转载 python字符串编码问题

遇到的问题接触python2.x 版本, 总是绕不开字符串编码,一开始遇到很多乱七八糟又让人很混乱的乱码问题,下面就总结几个: 1.使用print函数打印的乱码问题 比如写个爬虫,想在终端显示出爬到的网页的一些文本, 结果显示在终端的内容,出线两种问题: (1) 字符都是重复的 (2)乱码 2.什么时候可以使用unicode(),decode(), encode() 3.pyth

2017-02-19 23:00:12 243

原创 django之对FileField字段的upload_to的设定

用django开发,经常要处理用户上传的文件, 比如user模型里面如果又个人头像的字段 ImageField等等,而django在FielField字段(包括ImageField)的支持和扩展是做的很好的,首先一个问题,是上传的文件,django是放到哪里去了,(note: 文件流是不会放到数据库里面的,该字段在数据库中只存储路径),django提供了upload_to属性      以下介绍u

2016-11-30 23:40:03 16194

原创 Django之处理用户上传的文件

上传的静态文件的处理(2)用户上传的文件, 比如用户上传的头像照片, 那么上传到哪里, 另外,我们又是如何可以在浏览器上可以访问到这些资源呢,这里, 就需要django对用户上传的静态文件的处理方法了1.设置MEDIA_UR和MEDIA_ROOT先不管这两个变量是什么, 先设置了再解释在settings.py里面# settings.pyMEDIA_URL = '/media/'MEDIA_R

2016-11-24 21:30:13 2395

原创 C++如何读取任意数目的整数

要求: 读取整数,按enter结束输入 在C/C++中,一系列的简单数据是存储在数组里,而且,针对输入,一般要知道输入的数据个数,用for循环迭代, 又或者给定一个结束标志的输入,当输入为结束标志时,停止循环输入(比如, 输入0结束输入). 然而,当既没有结束输入的输入标志,又要求输入不定数目的整数,这时候就不能按最简单的方式输入了.思路:利用字符串流sstream, 先读取一行字符到字符串流中

2016-09-29 17:05:17 4988 1

原创 django 静态文件之如何上传文件

配置有关上传文件的静态文件是用media来处理的 在settings.py里面增加:MEDIA_URL = '/upload/'MEDIA_ROOT = os.path.join(BASE_DIR, 'upload')对于这个配置什么意思,可以参照我另一篇博文 :静态文件的配置说明使用django的FileField或ImageField字段首先说明一下FileField的基本参数 FileF

2016-08-14 00:43:12 560

原创 用深搜加回溯来实现求解数独的所有解

思路:1.对于当前的数独状态,我们可以把每个未填的位置的候选数字全部找出来,可以将候选数字放到一个数组或在vector中vector <int> find(int x, int y); //找出soudu[x][y]的候选数字2.如果有一些未填位置的候选数字为一个,那么这个就是确定项,我们可以先确定填补这个位置,如果所有的未填位置的候选数字都不唯一,那么选择候选数字最少的那么位置,遍历所有的可能性3

2016-08-13 23:35:43 1112 1

原创 django 静态文件之配置说明

django 静态文件的配置说明有关静态文件的配置具体说明,查看官方文档:静态文件的链接那么我主要是将STATIC_ROOT和STATIC_URL以及STATICFILES_DIRS说明一下而MEDIA_ROOT, MEDIA_URL的机制与之完全一样,更准确来说,用户上传的文件也是静态文件,只是独立media中处理中首先,我们配置静态文件,要在setting.py里面加入如下几行代码: sett

2016-08-13 23:08:18 8426 1

原创 POJ 1001 高精度乘法加小数点处理

http://poj.org/problem?id=1001 刚接触高精度不久,就去poj找了一道题做,这道题,其实不用写成高精度乘高精度,可以把问题解析称几个小问题,逐一解决.首先注意到,他是幂运算,所以,而且原数位数固定为 6位,所以,只用写高精度乘一个低位数即可,而高精乘一个6位数,可以解析乘高精乘一个1位数,在相加 :a∗123456=a∗100000+a∗20000+a∗3000+a∗

2016-07-19 14:49:23 463

原创 django的url()用法总结

django 的url()函数使用url()函数用于将视图函数和url关联起来, 下面总结学习过程中对url()与视图函数的参数对应问题在建立的app-name文件的views.py中,初始内容如下:from django.shortcuts import renderfrom django.http import HttpResponsedef home(request): retur

2016-07-19 01:57:10 8085

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除