题目描述 :请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 题目分析 留意最长子串和子序列不是一个概念。例如对“pwwkew”来说,最长子串是“wke”,“pwke”是其中一个子序列。 在不考虑时间的情况下,直接暴力法对所有的子串进行检查。复杂度是$O(N^3)$,会 ...
分类:
编程语言 时间:
2020-04-06 23:35:30
阅读次数:
68
解题思路 规律为后一个数为前两个数之和 参考解答 直接暴力法计算即可 需要注意第50个的数字超过了int的表示范围(2^31 1 = 2147483647),需要用long long型 ...
分类:
其他好文 时间:
2020-04-01 12:48:33
阅读次数:
79
题目描述 现给定任意正整数 n,请寻找并输出最小的正整数 m(m 9),使得 m 的各位(个位、十位、百位 ... ...)之乘积等于n,若不存在则输出 1。 我的题解 暴力法 最原始的想法是遍历,由于这个数一定不小于n,于是从n开始累加,然后转化为字符数组,计算积,判断 这个方法很傻,而且很难设置 ...
分类:
其他好文 时间:
2020-03-30 09:21:26
阅读次数:
203
题目: 在一个 n * m 的二维数组(每个一维数组的长度相同)中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 方法一:暴力法: 思路:用两个for循环遍历整个二维数组,一一比对,找到该整数返回 ...
分类:
编程语言 时间:
2020-03-16 23:53:19
阅读次数:
80
1.暴力法,思路比较简单,复杂度O(N*K) 2.用双端队列进行展示 想到双端队列的思路:只要遍历该数组,同时在双端队列的头去维护当前窗口的最大值(在遍历过程中,发现当前元素比队列中的元素大,就将原来队列中的元素祭天),在整个遍历的过程中我们再记录下每一个窗口的最大值到结果数组中。这样就是遍历数组的 ...
分类:
其他好文 时间:
2020-03-14 23:40:44
阅读次数:
81
迅哥讲解(说实话没有认真听,不过关系不大) RMQ:Range Minimum Maximum Query 给定一个序列A[1…N],问A[i…j]之间的极值 如果只问一次, 显然是O(N) 标准RMQ问题是:不停的查询同一个序列上的不同区间内的极值 序列A的长度N,一共Q次查询 纯暴力法:O(NQ ...
分类:
其他好文 时间:
2020-03-12 23:16:13
阅读次数:
57
这篇文章笔者想总结一下LCA的做法 LCA即最近公共祖先它所要求的是树上任意两个结点的公共祖先 下面提供做法 1、暴力法: 即一层一层往上爬,给定两个结点,先将两个结点的深度调为一致后,一起一层层的向上爬上升,这种做法的时间复杂度为较大,很容易被卡掉,这里就不详细说明,只是放出代码 #include ...
分类:
其他好文 时间:
2020-03-12 15:58:24
阅读次数:
87
暴力法就是两次迭代,对于这道题倒是ok,但是实际场景是不能选择的,因此直接用单步迭代的方式,无非就是记录最低点,找max差值点。 func maxProfit(prices []int) int { var minprice = math.MaxInt64 var maxprofit = 0 for ...
分类:
其他好文 时间:
2020-03-10 01:30:08
阅读次数:
46
恢复内容开始 1、暴力法 1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NU ...
分类:
其他好文 时间:
2020-03-09 17:40:42
阅读次数:
64
给定两个大小为m和n的有序数组nums1和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m+n))。 你可以假设nums1和nums2不会同时为空。 题解 解法一 暴力法,即从头到尾找到合并数组的中位数。时间复杂度O(m+n) 解法二 看到log,要自然想到二分法 ...
分类:
编程语言 时间:
2020-02-10 18:01:10
阅读次数:
89