摘要: 话不多说,我们上题目: 方法一:动态规划 我们用 f(i, j)表示从左上角走到 (i, j) 的路径数量,其中 i 和 j 的范围分别是 [0, m)和 [0, n)。 由于我们每一步只能从向下或者向右移动一步,因此要想走到 (i, j),如果向下走一步,那么会从 (i−1,j) 走过来; 如果向 阅读全文
posted @ 2020-12-09 14:11 CodeWangHAHA 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 今天的每日一题用到了回溯算法,这个我不是太熟悉,最后去借鉴了题解,但是不管怎么说还是来记录一下: 回溯算法简介: 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不 满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到 阅读全文
posted @ 2020-12-08 11:07 CodeWangHAHA 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 先上题目描述 思路: 1.如果我们想让翻转后的矩阵和最大则必须让数组的第一列都为1,所以我们要对第一列不是1的行先进行一个翻转 的操作。 2.当第一列都是1以后我们就可以对除了第一列的列进行操作了,统一列1越多最后的结果也就越大,我们可以统计1 的个数,如果1的个数超过0的则不需要进行翻转,否则进行 阅读全文
posted @ 2020-12-07 10:15 CodeWangHAHA 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 题目描述如下: 对于数组中的元素 x,如果存在一个子序列以 x-1 结尾,则可以将 x加入该子序列中。将 x 加入已有的子序列总是比新建 一个只包含 x 的子序列更优,因为前者可以将一个已有的子序列的长度增加 1,而后者新建一个长度为 1 的子序列,而题 目要求分割成的子序列的长度都不小于 3,因此 阅读全文
posted @ 2020-12-04 11:20 CodeWangHAHA 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题目的letcode连接:https://leetcode-cn.com/problems/remove-duplicate-letters/ 题目描述如下: 思路: 运用: 贪心 - 用栈 用栈来存储最终返回的字符串,并维持字符串的最小字典序。每遇到一个字符,如果这个字符不存在于栈中,就需 要将该 阅读全文
posted @ 2020-12-03 11:07 CodeWangHAHA 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 项目描述如下: 思路: 我自己想的是使用贪心算法 对于两个相同长度的数字序列,最左边不同的数字决定了这两个数字的大小,例如,对于 A = 1axxxA=1axxx,B = 1bxxxB=1bxxx, 如果 a > ba>b 则 A > BA>B。 基于此,我们可以知道,若要使得剩下的数字最小,需要保 阅读全文
posted @ 2020-12-02 16:37 CodeWangHAHA 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 话不多说,直接上题!!! 题目简介: 思路: 我们根据题目可知:1.nums升序排列的整数数组 2.我们需要找出给定目标值在数组中的开始位置和结束位置。 有序数组,寻找指定目标值的位置不用多想必然时采用二分查找啦! 代码如下: public int[] searchRange(int[] nums, 阅读全文
posted @ 2020-12-01 10:59 CodeWangHAHA 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 周末去了动物园,虽然我几乎被冻成了狗,但还是好开心呀,今天开开心心的来更新啦!!! 题目描述: 方法:基于最大堆的贪心算法 维护最大堆存储字母,堆顶元素为出现次数最多的字母。首先统计每个字母的出现次数,然后将出现次数大于 00 的字母加入最大堆。 当最大堆的元素个数大于 11 时,每次从最大堆取出两 阅读全文
posted @ 2020-11-30 15:04 CodeWangHAHA 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 现在的天气真的是冷的冻耳朵,做道题来热热身吧!!! 题目描述如下: 解题思路: A[i] + B[j] + C[k] + D[l] = 0 我们可以把A[i] + B[j] + C[k] + D[l]看成两个整体,即两个数相加为0, 这样最快的就是把其中一部分放进Hash中,直接判断0-另一个数的结 阅读全文
posted @ 2020-11-27 10:16 CodeWangHAHA 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 今日每日一题,最大间距,一看难度困难,我想ctrl+c再ctrl+v,但是再一看题,嗯,,,,我好想可以 我的代码: public int maximumGap(int[] nums) { Arrays.sort(nums); int max=0; for(int i=0;i<nums.length 阅读全文
posted @ 2020-11-26 14:39 CodeWangHAHA 阅读(67) 评论(0) 推荐(0) 编辑