算
cook_1996
这个作者很懒,什么都没留下…
展开
-
主元素问题解法--蒙特
算法课上老师在讲分治法时提到了主元素算法,一时心血来潮搜了一搜,没想到解法真是不少。这里整理了几个较为常见的,最后会给出蒙特卡洛的解法。解法1:假设第一个元素为主元素,遍历数组,若数组元素值等于所假设的主元素,则count++(count初始化为0),若count<0 ,则将当前的数组元素设置为主元素,若count>size/2,则找到主元素,返回,直至遍历完成整个数组。最后遍历一遍...原创 2018-09-18 19:35:42 · 2726 阅读 · 1 评论 -
119. Pascal's Triangle II
java版class Solution { public List<Integer> getRow(int N) { List<Integer> temp_l = new ArrayList<Integer>(); for(int i=0; i<=N; i++){ temp_l.add(0,...原创 2019-04-30 11:08:08 · 98 阅读 · 0 评论 -
118. Pascal's Triangle.
python版:class Solution: def generate(self, N): if N == 0: return [] if N == 1: return [[1]] elif N == 2: return [[1], [1, 1]] e...原创 2019-04-30 10:49:03 · 156 阅读 · 0 评论 -
leetcode88. Merge Sorted Array
java版:class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int p = m-1; int q = n-1; int k = m+n-1; while(p>=0 && q>...原创 2019-04-29 15:50:12 · 99 阅读 · 0 评论 -
决策树剪枝(cart剪枝)的原理介绍
决策树剪枝(cart剪枝)的原理介绍 最近看《统计学习方法》,最后有一部分...转载 2019-04-16 11:33:50 · 897 阅读 · 0 评论 -
leetcode33. Search in Rotated Sorted Array相同的思路,不同的复杂度
原题链接第一眼看到这个题,本能的想到二分搜索。自己的解法是这样:先找到最小的值反转后的的位置,例如题目中的数组[4,5,6,7,0,1,2]中0在第四位,记为cur = 4,如何寻找呢?顺序找肯定是不可取的,但是我第一次没有转个来这个弯,居然采用顺序查找的方式(那为什么不直接顺序查找target呢?真是笨)找到cur的位置便可以使用经典的二分查找法,但必须在翻转前后的坐标之间做一个转换,...原创 2019-02-19 11:17:29 · 104 阅读 · 0 评论 -
leetcode5. Longest Palindromic Substring最长回文子串多种解法-待补充
原题链接题目的意思不过多的赘述,这里先给出三种解法:暴力解,马拉车,一种巧解暴力解写一个判断回文的函数,两重循环判断最长子串(这种方法在字符串过长时可能会栈溢出)class Solution: def longestPalindrome(self, s: 'str') -&amp;gt; 'str': if len(s) &amp;lt; 2: return...原创 2019-02-18 15:58:10 · 141 阅读 · 0 评论 -
leetcode31 Next Permutation下一个排列 Python多种解法
原题链接我猜测应该有不少人没能理解这道题到底在干什么?一开始我一没看懂,网上的一些文章也没有说的很明白,后来参考了这个,才算搞明白!题目给定了数组的一个排列,求下一个排列是什么?基本的思路是从最后面开始找第一个开始递减的数,记录较小的数的位置p;如果p存在,从p开始,依次向后找到第一个比p位置的数小的数,记录这个数的前一个位置为q,交换p,q位置上的数,并将p位置后的所有数逆置如果...原创 2019-02-16 10:59:30 · 160 阅读 · 0 评论 -
分治法-众数问题java实现
先挖个坑,两天之内必现代码(毕竟我在网上很难找到真正用java实现的)来填坑了,众数问题的分治法java实现。 首先说一下其他的思路 1.暴力法:选取其中的每个数遍历,得到每个数的重复次数,进行比较,O(n2) 2.先进行排序,O(nlgn),再去找,O(n) 3.使用额外空间(数组或者是哈希表)时间复杂度O(n),空间O(n),但是在用数组时如果数的跨度较大,比如:{1,1,1,1,...原创 2018-09-15 09:42:21 · 2767 阅读 · 0 评论 -
LeetCode刷题之道
本文作者:侯振宇,原文链接:https://www.cnblogs.com/sskyy/p/8268976.html这篇文章最早发在我团队的文档中。我的团队鼓励每个同学都在业余时间多做算法题,特别是新人。个人认为在编程能力的提升上比做 side project 更有用,对职业发展也是如此。当然出于兴趣做的 side project 另当别论。转到这里,希望对各位读者有用。如何有效地写算法题...转载 2019-06-04 10:23:39 · 160 阅读 · 0 评论