139. Word Break 字符串能否通过划分成词典中的一个或多个单词. 使用动态规划,dp[i]表示当前以第i个位置(在字符串中实际上是i-1)结尾的字符串能否划分成词典中的单词. j表示的是以当前i的位置往前找j个单词,如果在j个之前能正确分割,那只需判断当前这j单词能不能在词典中找到单词.j的个数不能超过词典最长单词的长度,且同时不能超过i的索引. 初始化时要初始化dp[0]为true,因为如果你找第一个刚好匹配成功的,你的dp[i - j]肯定就是dp[0].因为多申请了一个,所以d…
# python如何转换word格式.读取word内容.转成html? import docx from win32com import client as wc # 首先将doc转换成docx word = wc.Dispatch("Word.Application") doc = word.Documents.Open(r"D:\\demo.doc") #使用参数16表示将doc转换成docx doc.SaveAs(r"D:\\most.docx&qu…
https://www.cnblogs.com/grandyang/p/4332313.html 在一个矩阵中能不能找到string的一条路径 这个题使用的是dfs.但这个题与number of islands有点不同,那个题中visited过的就不用再扫了,但是这个需要进行回溯回来. 所以使用了visited[i][j] = false; 本质区别还是那个题是找一片区域,这个题更像是找一条路径. 错误一:如果board不引用,会报超内存 错误二: 这个写法和正确写法基本相同,但错误写法需要每次…
139. Word Break Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine if s can be segmented into a space-separated sequence of one or more dictionary words. You may assume the dictionary does not contain…
127. Word Ladder 这道题使用bfs来解决,每次将满足要求的变换单词加入队列中. wordSet用来记录当前词典中的单词,做一个单词变换生成一个新单词,都需要判断这个单词是否在词典中,不在词典中就不能加入队列. pathCnt用来记录遍历到的某一个词使用的次数,做一个单词变换生成一个新单词,都需要判断这个单词是否在pathCnt中,如果在,则说明之前已经达到过,这次不用再计算了,因为这次计算的path肯定比之前多.pathCnt相当于剪枝. class Solution { pub…
1.two sum 用hash来存储数值和对应的位置索引,通过target-当前值来获得需要的值,然后再hash中寻找 错误代码1: Input:[3,2,4]6Output:[0,0]Expected:[1,2] 同一个数字不能重复使用,但这个代码没排除这个问题 class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> result; uno…
169. Majority Element 求超过数组个数一半的数 可以使用hash解决,时间复杂度为O(n),但空间复杂度也为O(n) class Solution { public: int majorityElement(vector<int>& nums) { unordered_map<int,int> count; int n=nums.size(); ;i<n;i++){ ) return nums[i]; } ; } }; 使用投票法,时间复杂度为O(…
55. Jump Game 第一种方法: 只要找到一个方式可以到达,那当前位置就是可以到达的,所以可以break class Solution { public: bool canJump(vector<int>& nums) { int length = nums.size(); ) return false; vector<bool> dp(length,false); dp[] = true; ;i < length;i++){ ;j >= ;j--){…
54题是把二维数组安卓螺旋的顺序进行打印,59题是把1到n平方的数字按照螺旋的顺序进行放置 54. Spiral Matrix start表示的是每次一圈的开始,每次开始其实就是从(0,0).(1,1)这种开始的. 用endx.endy来表示每次转圈的x.y方向的终止位置,方便后面进行边界条件设置. 注意:后面start < endx && start < endy.start < endy && start < endx-1都必须同时满足x.y的条…
263. Ugly Number 注意:1.小于等于0都不属于丑数 2.while循环的判断不是num >= 0, 而是能被2 .3.5整除,即能被整除才去除这些数 class Solution { public: bool isUgly(int num) { ) return false; == ) num /= ; == ) num /= ; == ) num /= ; ? true : false; } }; 264. Ugly Number II 用一个数组去存第n个前面的所有整数,然后…