- 博客(55)
- 收藏
- 关注
原创 LeetCode 661 : Image Smoother(python)
好久没更新博客了,最近沉迷于Android和深度学习的研究,python、c++、java等语言都会接触,难免会把一些语法层面的东西记混了。也很久没上Leetcode,感觉现在脑子不够用,只够刷Easy的题。周末闲来无聊逛了一下,看到一道平滑滤波的题。没想到Leetcode也这么与时俱进,竟然出现了图像处理的相关题目。不过由于对python列表复制的不熟,还是成功跳进了一个坑。仅以此文做一些总结。
2017-08-26 16:31:04 1663
原创 LeetCode 646 : Maximum Length of Pair Chain(c++)
本题有点动态规划和贪心的意思。大意是找出能够组成符合题目要求的最长的链长度。题目已知在任何数对(a, b) 中,a < b;且数对(a, b)和 (c, d)能组成链当且仅当b < c。
2017-07-29 15:38:12 957
原创 LeetCode 648 : Replace Words(java)
已知sentence和缩写list,把sentence中的word按照一定规则转换成其缩写,并返回sentence。解题思路是,用一个hashset存储缩写list中的元素,把sentence通过split(” “)分割成单词array,逐个单词对应查找其缩写并转换成其缩写,再把缩写后的单词array合成sentence并返回。
2017-07-26 08:14:10 913
原创 LeetCode 647 : Palindromic Substrings(java)
求字符串回文子串个数。很明显这是一道dp的题,从左到右遍历字符串,每次加进一个字符,递推公式为dp[i]=dp[i-1]+tmpNum。其中,tmpNum为新加进一个字符后新增加的回文子串的个数。当遍历到index=i时,只要看看在i之前的index j,能否构成substring(j,i+1)的回文子串。最后结果是dp[len-1]+len,其中len为字符串的长度,因为字符串每个字符都为回文子串。
2017-07-25 14:30:54 2165
原创 LeetCode 645 : Set Mismatch(java)
题意大致如下:set S的长度为n,无序存储了数字1-n,但由于data error,有一个数字出现了重复(同时意味着有一个数字缺失),找出重复数字和缺失的数字。用一个map,第一遍循环,把set S过一遍,出现的数字用map标记,同时记录下重复的数字(已标记过的数字第二次读到为重复数字)。第二遍循环,把map过一遍,查找缺失数字(没有被标记的数字)。时间复杂度为o(n)。
2017-07-23 17:27:37 939
原创 LeetCode 560 : Subarray Sum Equals K(java)
本题求在一个数组中,连续子序列和为k的子序列(子序列长度为1-n均可,其中n为数组的大小)的个数。
2017-07-21 23:12:26 1183
原创 LeetCode 637 : Average of Levels in Binary Tree(java)
求二叉树每一层的平均值。用leafNumList存储每一层叶子节点个数,用deepList存储每一层的平均值。
2017-07-19 23:54:31 654
原创 LeetCode 636 : Exclusive Time of Functions(python)
题目讲的是单线程CPU时间片计算的问题。所谓单线程,就是CPU在任意时刻只能运行一个线程。假设线程a在运行过程中,另一个线程b要抢占资源,那么a必须进入等待状态,直到b运行完之后再继续运行。
2017-07-16 11:58:36 700
原创 LeetCode 640 : Solve the Equation(python)
本题要求求解方程组,并且假定方程组只有加和减两种运算,同时只含有x一个未知数。
2017-07-11 11:08:14 708
原创 LeetCode 633 : Sum of Square Numbers(python)
数学问题:求一个非负整数能否拆解成两个整数的平方之和。
2017-07-06 11:06:24 1402
原创 第十九周:( Sicily2014) Dairy Queen(c++)
这是一道关于背包问题的题目,但是跟传统的背包问题又略有不同。传统的背包问题一般是求最值的问题,而这题是求不重复的方法的种类的问题。其实主要思路都一样,不同是在状态转移方程。
2017-06-27 09:56:11 423
原创 第十九周:( LeetCode629) K Inverse Pairs Array(c++)
这是一道动态规划的题目。用dp[n][k]代表n个数(1-n)任意全排列中存在k对逆序数对的排列的数量总数。
2017-06-25 17:18:31 1012
原创 第十八周:( Sicily1750) 运动会(c++)
这是一道分组背包的题目。 分组背包的不同之处,就在于求f[k][v](表示前k组物品花费费用v能取得的最大权值)要遍历每一组的所有物品i,然后取其最大值保留在f[k][v]。
2017-06-23 16:22:03 770
原创 第十八周:( LeetCode621)Task Scheduler(c++)
这是一道贪心策略的题目。原题的大意有一定的操作系统知识背景,大致是说,给出任务集,每个时间片只能完成任意一个任务,同一类任务必须至少相隔n个时间片,求完成任务集的任务最少需要多少时间片。
2017-06-22 15:51:14 508
原创 第十六周:( LeetCode606) Construct String from Binary Tree(c++)
本题的本质就是树的先序遍历,因为要加上括号所以要注意一些细节的处理,也涉及到一些c++字符串的操作,要注意区别好例子一和例子二
2017-06-05 13:59:53 874
原创 第十五周:( LeetCode542) 01 Matrix(c++)
找出矩阵中非0的点和最近的0点的距离,已知上、下、左、右四个方向相邻的点的距离为1。其实就是逐个点做个广度优先搜索
2017-06-03 09:43:03 461
原创 macOS: 安装OpenCV 3.2.0 和Python 3.6.0
2016年12月,OpenCV 3.2.0和Python 3.6.0发布,本文记述的是笔者在macOS10.12.5和Python 3.6.0的环境下,配置OpenCV 3.2.0的过程。坑还是有一些,花了半天的时间。这里把我解决的方案贴出来,仅供交流参考。
2017-06-03 00:52:03 1521 6
原创 第十五周:( LeetCode600) Non-negative Integers without Consecutive Ones(c++)
本题用到的算法思想包括动态规划和分治,涉及到十进制和二进制的相互转化。以下算法时间复杂度为o(logn),过程有一点点繁琐但应该比较好理解,可能会有更简洁的思路。下面就简述一下我的思路吧。
2017-06-01 16:32:51 354
原创 第十五周:( LeetCode547) Friend Circles(c++)
求朋友圈的数目,其实就是求图中的连通区间个数,用dfs或者bfs即可。
2017-06-01 09:14:29 448
原创 第十三周:( LeetCode582) Kill Process(c++)
原题: Given n processes, each process has a unique PID (process id) and its PPID (parent process id). Each process only has one parent process, but may have one or more children processes.
2017-05-18 10:24:41 636
原创 第十三周:( LeetCode583) Delete Operation for Two Strings(c++)
求字符串编辑距离的题,经典动态规划。
2017-05-14 11:22:56 451
原创 TensorFlow安装(MAC OS 10.12.4 + python3.6 + TensorFlow CPU)
TensorFlow是机器学习和深度学习一个主流框架,使用TensorFlow第一步就是安装它。本文主要参考:https://www.tensorflow.org/install/install_mac。操作系统是:MAC OS 10.12.4 ,python版本是:python3.6 ,TensorFlow版本是:TensorFlow CPU。如果环境有差异,安装过程会有不同。安装Anacond
2017-05-08 23:15:09 7826
原创 第十一周:( LeetCode567) Permutation in String(c++ && python)
判断s2的连续子串中,是否存在s1的任意置换。
2017-05-01 17:04:17 630
原创 手写识别系统(k-近邻算法)
k-近邻算法(kNN)是机器学习中一个相对比较简单的算法。该算法在训练集中数据和标签已知的情况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较(比如通过欧氏距离),找到训练集中与之最为相似的前K个数据,则该测试数据对应的类别就是K个数据中出现次数最多的那个分类。
2017-04-28 22:38:12 380
原创 LeetCode 564: Find the Closest Palindrome(python)
用O(1)的算法,找到距离输入数字最近的回文数字。如果出现两个距离相同,则输出较小的回文数字。
2017-04-26 13:37:45 1667
原创 LeetCode 8: String to Integer (atoi) (python)
用python判断字符串是否合法,将合法字符串转换成整数,非法字符串输出0,越界的情况输出int的最大值或者最小值
2017-04-26 00:33:09 425
原创 第十周:( Sicily1091) Maximum Sum(c++)
这是一道关于求和最大的相连子序列的题。用dp[i]表示以a[i]为结尾的和最大的相连子序列,此问题的状态转移方程为:dp[i]=max(a[i],dp[i-1]+a[i]),结果为max(dp[1],dp[2]…,dp[n])。本题相当于把数组分成两段,求(这两段的(和最大的相连子序列)的和)的最大值。
2017-04-23 22:41:44 252
原创 第十周:( LeetCode552) Student Attendance Record II(c++)
这是一道动态规划的题目,leetcode的划分的难度为Hard。其实思路并不难,但是 AC的过程略有曲折。
2017-04-23 17:30:13 332
原创 第九周:( LeetCode337) House Robber III(c++)
本周上课的重点依然为动态规划,主要讲树状dp、状态压缩dp、Floyd-Warshall算法。这是一道典型的树状dp的题,难度为Medium。
2017-04-19 09:23:59 438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人