![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法练习
ccxuxuxu
这个作者很懒,什么都没留下…
展开
-
算法练习:数组最长递增子序列问题
基础算法原型问题:《程序员代码面试指南》page 202 主要解题思路:求解dp[i],表示以arr[i]这个数结尾的情况下, 最长递增子序列的长度. O(N*N)的做法:源码 O(N* logN)的解法, 求解dp[i],源码 /*** * 1. 增加辅助数组 ends[b]和right 变量。 * 2. ends[b] 表示 长度为b+1 的递增子序列的最小...原创 2019-01-01 17:57:23 · 2245 阅读 · 0 评论 -
算法练习:无序矩阵(其中只有1和0两种值),求只含有1 的最大的子矩阵大小 和获取 完全二叉树节点数量
问题1 给定一个无序矩阵,其中只有1和0两种值, 求只含有1 的最大的子矩阵大小, 矩阵的大小用其中的元素个数来表示 解题思路: 矩阵压缩, 计算出以每一行为底的直方图 举例说明: 矩阵为 0 1 1 0 1 1 1 0 1 1 以第一行为底的直方图为: 0 1 1 0 1 以第二行为底的直方图为: 1 2 0 1 2 (当前底的数值为0,则直方图值为0) 针对1中的直方图, 进行入栈操...原创 2019-01-17 11:51:28 · 3482 阅读 · 0 评论 -
算法练习:双指针问题
问题1(LeetCode 42):源码 给定一个非负数的数组,代表一个容器。例如数组[0,1,0,2,1,0,1,3,2,1,2,1],就是以下图形中黑色的部分。如果用这个容器接水的话,请问可以接多少水?还以这个数组为例,可以接6格水,就是以下图形中蓝色的部分 解题思路: 简化题意:如果能求得当前位置格子上的水量,那么总水量就是每个位置水量之和。当前格子上所能存储的水量 = 当前格子左边最大值与...原创 2019-01-03 13:58:42 · 430 阅读 · 0 评论 -
Boyer–Moore majority vote algorithm(摩尔投票算法)
Boyer–Moore majority vote algorithm 摩尔投票算法 Leetcode15: https://leetcode.com/problems/majority-element/ , 计算众数, 可以使用boyer-moore majority 算法: public int majorityElement(int[] nums) { int ma...原创 2019-02-18 16:29:48 · 486 阅读 · 0 评论