算法设计作业
LoHiauFung
爱骑车的程序员
展开
-
【算法设计作业】Week1
做了不少,选部分写讲解。 1. Median of Two Sorted Arrays来源: https://leetcode.com/problems/median-of-two-sorted-arrays/description/题意:给出两个有序数串,要求O(m+n)复杂度找出两个书串合起来之后的中位数。思路1.首先确定在合并后的有序数串中,中位数的下标(index),尽管不用真的合并原创 2017-09-09 00:07:33 · 472 阅读 · 0 评论 -
【算法设计作业】week3
照例选题写思路1.3Sum来源:https://leetcode.com/problems/3sum/description/题意给出一串数,叫你找出所有的a,b,c使得a+b+c=0;要注意的是给出的数,可能重复。思路将输入的数排序,从头到尾对每一不同数字循环,下标为i,target = -i。并从用指针指向front = i+1,back = j + 1; ·如arr[front] + arr原创 2017-09-19 23:44:07 · 467 阅读 · 0 评论 -
【算法设计作业】week4
1.Implement strStr()来源https://leetcode.com/problems/implement-strstr/description/题意要求实现Implement strStr()这个函数,其实就是叫你从一个字符串中返回给定字符串第一次出现的位置思路1.暴力循环,从长字符串的每一个位开始,向后匹配,成功则返回。不成功则移下一个位,继...原创 2017-09-25 19:42:27 · 277 阅读 · 0 评论 -
【算法设计作业】week2
照例选题写解析 1.Trapping Rain Water题意 大概意思就是给一个数组,代表石头高度,问你一共能装多少水。思路1.首先要知道,每一点能装的水 = min(左边最高石头高度-右边最高石头高度)-该点的高度 2.于是问题就变成求每一点左边最高石头高度和右边最高石头高度。一个很直观的思路是,双重循环,暴力解题,复杂度为O(n^2)。但是我觉得不优美,...原创 2017-09-15 00:16:12 · 305 阅读 · 0 评论 -
【算法设计作业】week5
1.Divide Two Integers来源:https://leetcode.com/problems/divide-two-integers/description/题意给出两个int数a,b,要求计算他们的商,不能使用乘、除、取模。思路很直接想法按照除法的定义,当a,b都大于0时,a不断减b,直到余数比b小,记录一共减了多少次,就是所求的答案。但是这样...原创 2017-10-03 22:19:14 · 389 阅读 · 0 评论 -
【算法设计作业】week13
30. Substring with Concatenation of All Words题目来源:https://leetcode.com/problems/substring-with-concatenation-of-all-words/description/思路本道题的思路是滑动窗口,一个窗口windows在字符串S上滑动,每一个位置都检验窗口的内容是否满足条件,...原创 2017-12-03 13:50:47 · 357 阅读 · 0 评论 -
【算法设计作业】week16
week1648. Rotate Image来源:https://leetcode.com/problems/rotate-image/description/题意给定一个矩阵,输出顺时针旋转之后的矩阵思路最简单的思路是,建立每一个点与新店的数学关系,然后映射过去。 但是在discussion有人给出了顺时针旋转和逆时针旋转的算法,相当简洁。参考代...原创 2017-12-20 15:04:21 · 273 阅读 · 0 评论 -
【算法设计作业】week14
【算法设计作业】week14给出了第33、34,35、36、38、39、41、45题的解析33. Search in Rotated Sorted Array题目来源:https://leetcode.com/problems/search-in-rotated-sorted-array/description/题意给出一个初始升序序列,经过一个(注:一个)“rot...原创 2017-12-04 09:44:11 · 372 阅读 · 0 评论 -
【算法设计作业】week17
课本课后习题8.8 要求证明Exact 4SAT problem是NP完全问题。先考虑Exact 3SAT问题的每一个子项,有a ∨ b ∨ c形式 我们可以有这样的推理过程:a ∨ b ∨ c== (a ∨ b ∨ c)∧ True== (a ∨ b ∨ c)∧ (y ∨ ¬y)== (a ∨ b ∨ c ∨ y)∧ (a ∨ b ∨ c ∨ ¬y)这样,每一个3SAT...原创 2017-12-29 17:24:05 · 343 阅读 · 0 评论