
算法专栏
从零开始的算法之旅
silly-dream
这个作者很懒,什么都没留下…
展开
-
MySql面试八股文
MySql面试八股文原创 2021-12-01 00:16:02 · 746 阅读 · 0 评论 -
贪心算法简述
贪心算法简述手动模拟一下感觉可以局部最优推出整体最优,而且想不到反例,那么就试一试贪心,至于严格的数学证明,就不在讨论范围内了。使用到贪心的题目并没有固定套路,大多数时候贪心算法就是我们的常识,也就导致很多人就说:贪心算法根本就不算是一种算法。比如,在很多钞票中,取出总和最大的钞票。我们自然而然就想到,每次取单额最大的钞票。这已经是一种常识,也很简单,但是,很多使用到贪心的题目很难,因为这类题目往往会使用到其它知识(比如各种数据结构)。所以,在这里我并不展开讨论,例题如下:505种花问题406根据原创 2021-11-23 11:00:46 · 402 阅读 · 0 评论 -
二分法例题
前言:本专栏只专注二分法的解法,若有其它简便解法暂不考虑。从几乎零基础开始学算法,多多包涵,共同进步!有效的平方数class Solution { public boolean isPerfectSquare(int num) { int l=0,r=num; while(l<=r){ int m=l+(r-l)/2; if((long)m*m==num) return true;原创 2021-11-20 16:54:16 · 2050 阅读 · 0 评论 -
动态规划三
三角形最小路径和最开始的方法:自上向下class Solution { public int minimumTotal(List<List<Integer>> triangle) { int si = triangle.size(); int[][] arr = new int[si][si]; arr[0][0] = triangle.get(0).get(0); for(int i=1;i<si;原创 2021-11-19 15:37:43 · 93 阅读 · 0 评论 -
动态规划二
前言:上一篇文章,了解到动态规划的基础解法,但只是会用形,还不能掌握其中的神,所以,接下来的题目便是让读者领悟动态规划的真谛最大子序和class Solution { public int maxSubArray(int[] nums) { int sum = 0; int ans = nums[0]; for(int x:nums){ if(sum>0){ sum += x;原创 2021-11-19 10:04:33 · 364 阅读 · 0 评论 -
动态规划一
前言:本专栏只专注动态规划的解法,若有其它简便解法暂不考虑。杨辉三角一杨辉三角是不需要了解动态规划,就能用动态规划解法做出来的动态规划的入门典例,因为你有意无意就能用动态规划的解法来解题。class Solution { public List<List<Integer>> generate(int numRows) { List<List<Integer>> ans = new ArrayList<List<I原创 2021-11-16 13:31:12 · 280 阅读 · 0 评论