- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 leetcode#64最小路径和
题目要求:给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。思路:错误思路:贪心算法 每次都面临选择时都选取最小的相加局部最尤无法推导整体最优正确思路:动态规划:单独考虑到达每个位置的最优解,后续只是对最优解长度的扩充。与贪心算法不同,动态规划考虑的时不考虑后续情况,只对之前情况进行最优求解。之后对于最优解进行最优的扩展,以保证全局...
2019-11-27 16:08:49
134
原创 leetcode#59 螺旋矩阵Ⅱ
题目要求:按照顺时针螺旋顺序 构建一个n*n的螺旋矩阵思路:参照之前的54题输出螺旋矩阵的思路 将单圈拆开为四个部分。每个部分循环的长度是相同的。单圈循环完之后,起始坐标向右下移一个单位,单次循环长度减二。对于偶数阶矩阵,正常结束。对于奇数阶矩阵,因为循环长度会减到0,需要手动加入最后最中间的一个数。如图 单圈拆分为黄红蓝绿四个部分。每个部分的长度均为2。第一圈的起始位置为(0,0)。长...
2019-11-25 14:49:26
129
原创 leetcode#55跳跃游戏
题目要求:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。如:[2,3,1,1,4]输出:True[3,2,1,0,4]输出:False无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。思路: 动态规划1.首先 如果数组中不存在0 则一定...
2019-11-21 16:31:52
137
原创 leetcode#51 N皇后
题目要求:在一个N*N大小的棋盘上,放置N个皇后棋子,保证每个棋子不互相攻击(皇后的攻击范围为所在行列和主次对角线)列出所有解法思路:一道十分典型也算较为复杂的回溯法算法实际是对枚举的优化首先先在棋盘最左上角放置一个皇后,然后向后寻找下一个可以放置皇后的位置,找到后放下下一个皇后,再向后寻找下一个可以放下皇后的位置。直到放置完所有可以放置的位置。如果棋盘上的总棋子数等于N,则返回一个正...
2019-11-21 14:14:58
93
原创 leetcode#54螺旋矩阵
题目要求:给定一个矩阵,按螺旋顺序输出各个元素例子:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]思路:模拟螺旋线路,进行循环每个大循环中嵌套四个小循环分别输出该次循环右下左上顺序历遍的元素即 最外层循环中包括右向循环输出123下循环输出69左循环输出87上循环输出4实现:思路很...
2019-11-18 17:08:39
118
原创 leetcode#49字母异位词分组
题目要求:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。示例:input:[“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]output:[[‘eat’, ‘tea’, ‘ate’], [‘tan’, ‘nat’], [‘bat’]]思路1前两天写回溯法写魔怔了。。看到题第一反应是用回溯法。结果超时了事实证明算...
2019-11-15 15:06:41
96
原创 Python 回溯算法
最近leetcode刷题遇到了许多和回溯法有关的题,然而对回溯法完全没有过系统的了解明显感觉费力了很多狠心打算一次把回溯法弄懂,开个贴记录一下学习过程回溯法的基本模板class solution: def solvepermutation(self,*arg,**kwg): pass #初始化输入输出内容 #定义helper函数,构建回溯主体 def h...
2019-11-14 15:58:06
1704
原创 基于CNN网络深度学习杂记
1.CNN 即为卷积神经网络。参考Charlotte77博客(https://www.cnblogs.com/charlotte77)1.1为什么需要CNN传统全连接神经网络对于张量中每一个元素添加权重和偏置,会导致整个网络产生的参数过于巨大。(对于一个2828大小的灰度图像,对其进行矩阵量化并打平后为一个2828=784个元素的一维列向量,隐藏层网络为15个神经元,会添加78415个权重。...
2019-11-13 11:40:32
416
原创 leetcode#34两次二分查找
题目要求:在一个排序好的数组中寻找target 并返回target的起始index如不存在 则返回[-1,-1]要求时间时间复杂度为O(logn)思路:显然看到复杂度为logn需要利用二分查找!!!二分查找踩坑!!!!之前对于二分查找只是粗略的理解概念,知道对于logn的时间复杂度需要利用二分查找并没有完整的写过详细代码所以这一次写的时候对于边界处理不够仔细 经常会出现死循环的问题...
2019-11-07 16:57:02
149
原创 leetcode#30串联所有单词的字串
题目要求:给定一个字符串和一个words的列表找出字符串中由words中所有元素串联起来的字串eg:s = “barfoothefoobarman”words = [“foo”,“bar”]输出:[0,9]输入:s = “wordgoodgoodgoodbestword”words = [“word”,“good”,“best”,“word”]输出:[]思路:利用滑动窗口...
2019-11-06 16:52:49
169
原创 leetcode#22括号生成
题目要求:给定括号对数 返回所有符合要求的括号组合eg:输入:1输出:()输入:2输出:(()) () ()思路:原本打算用递归的思想每一个括号都加在上一个括号中每一个独立存在的()中间和后面但是实际编程的过程中发现 会出现重复的解在最后去重虽然可以得出正确答案 但效率低下class Solution: def generateParenthesis(self, n...
2019-11-06 16:39:53
78
原创 leetcode#20有效括号
题目要求:判断一个括号组成的字符串是否有效有效原则:每个括号都能找到使其闭合的另一半括号eg:{([]())} 有效(])无效思路:对于连续的左括号 先对其进行保存然后每输入一个右括号 去比对保存的最后一个左括号是否和它是一对的 如果是 继续读取输入如果不是 则判断该括号无效实现:用栈先进后出的原理能很好的实现上述思路将连续左括号压入栈中 出现右括号 则对比最后压入的左括号...
2019-11-06 16:28:30
104
原创 Pyqt线程与主界面信号传输实现按键控制tcp客户端
最近在杭州某安防企业实习被要求做了一个tcp协议通信的测试工具,还需要一直循环发送,单击按键暂停。记录一下开发过程中遇到的问题和踩到的坑一开始没有提及循环发送的需求 于是只用了PyQt和socket库写成了单击发送的功能。之后说需要循环发送 本来我寻思着无非是个while循环加个标志位的事情 结果事情万万没有我想的那么简单简单的加上while循环之后发现程序直接卡死,根本无法更改控制循环的标...
2019-10-24 11:32:45
566
原创 Python杂谈 (论在python开发中踩过的坑)
1.python读取目录下所有文件的排序方式与windows不同 如"k-1.jpg"“k-2.jpg”“k-11.jpg"排序结果为"k-1.jpg”“k-11.jpg”“k-2.jpg”处理方法:截取出排序依据内容(如数字等),按顺序复制到新的list中2.python下的分段文件读写 有时候会出现无法写入的情况 一般对每一段重复进行打开文件写入文件关闭文件的操作可解决3.tcp soc...
2019-10-23 14:50:42
106
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人