摘要:
话不多说,我们上题目: 方法一:动态规划 我们用 f(i, j)表示从左上角走到 (i, j) 的路径数量,其中 i 和 j 的范围分别是 [0, m)和 [0, n)。 由于我们每一步只能从向下或者向右移动一步,因此要想走到 (i, j),如果向下走一步,那么会从 (i−1,j) 走过来; 如果向 阅读全文
摘要:
今天的每日一题用到了回溯算法,这个我不是太熟悉,最后去借鉴了题解,但是不管怎么说还是来记录一下: 回溯算法简介: 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不 满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到 阅读全文
摘要:
先上题目描述 思路: 1.如果我们想让翻转后的矩阵和最大则必须让数组的第一列都为1,所以我们要对第一列不是1的行先进行一个翻转 的操作。 2.当第一列都是1以后我们就可以对除了第一列的列进行操作了,统一列1越多最后的结果也就越大,我们可以统计1 的个数,如果1的个数超过0的则不需要进行翻转,否则进行 阅读全文
摘要:
题目描述如下: 对于数组中的元素 x,如果存在一个子序列以 x-1 结尾,则可以将 x加入该子序列中。将 x 加入已有的子序列总是比新建 一个只包含 x 的子序列更优,因为前者可以将一个已有的子序列的长度增加 1,而后者新建一个长度为 1 的子序列,而题 目要求分割成的子序列的长度都不小于 3,因此 阅读全文
摘要:
题目的letcode连接:https://leetcode-cn.com/problems/remove-duplicate-letters/ 题目描述如下: 思路: 运用: 贪心 - 用栈 用栈来存储最终返回的字符串,并维持字符串的最小字典序。每遇到一个字符,如果这个字符不存在于栈中,就需 要将该 阅读全文
摘要:
项目描述如下: 思路: 我自己想的是使用贪心算法 对于两个相同长度的数字序列,最左边不同的数字决定了这两个数字的大小,例如,对于 A = 1axxxA=1axxx,B = 1bxxxB=1bxxx, 如果 a > ba>b 则 A > BA>B。 基于此,我们可以知道,若要使得剩下的数字最小,需要保 阅读全文
摘要:
话不多说,直接上题!!! 题目简介: 思路: 我们根据题目可知:1.nums升序排列的整数数组 2.我们需要找出给定目标值在数组中的开始位置和结束位置。 有序数组,寻找指定目标值的位置不用多想必然时采用二分查找啦! 代码如下: public int[] searchRange(int[] nums, 阅读全文