09 2019 档案
摘要:最能想到的是暴力的方法。 动态规划在这里是最有效果的解法。 时间复杂度为 O( n )。 n = 0 的时候, f 为 true。 n = 1 的时候, 只需要判断第一个字母是否在字典里。设置一个结果为 true。 n = 2 的时候, 需要判断 0 - 1 个字母,也就是 f(1) 是否为 tru
阅读全文
摘要:思路: 1.首先找到上山点,用一个变量 j 来开始上山。 2.计算山脉的长度。 长度分为两部分,一部分是上山,一部分是下山。 这题要注意边界。 3.保存山脉的长度 j - i + 1。 为什么要 +1 ?因为我们之前写的上山点是 A[ i ] > A [ i - 1] 。 i - 1 的时候,才是上
阅读全文
摘要:题目的意思是,判断串 s 是否为串 t 的子序列。 暴力法,时间复杂度为 O(N)。 用法:java 的 indexOf indexOf有四种用法: 1.indexOf(int ch) 在给定字符串中查找字符(ASCII),找到返回字符数组所对应的下标找不到返回-1 2.indexOf(String
阅读全文
摘要:这个题目很容易想到用 dp 来做,而且状态转移方程也很简单, 标准方程是 :dp[i][j] = dp[i-1][j] + dp[i][j-1]. 我的方程:dp[i][j] = dp[i-1][j] + dp[i][j-1] + dp[i][j]。 多加了一个。因为我预处理的时候,把所有带 0 的
阅读全文
摘要:这个题目归类于简单的 dp。 n = 1 的时候, dp[ 1 ] = 1. n = 2 的时候, dp[ 2 ] = max( dp[ 1] , nums[ 2 ]) n = 3 的时候, dp [ 3 ] = max( dp[2], nums[3] + dp[1]) 由此可以推出状态转移方程 d
阅读全文
摘要:1. 成员变量有初始值,局部变量没有 2.如果没写构造方法,那系统会自动写一个构造方法。 new 后面就是构造方法。 3.syso java eclipse的快捷输出 4.构造方法里面可以限制成员变量的大小 5.类名可以直接调用静态变量和静态方法 6.静态方法只能调用同类里面的静态变量。 若想调用非
阅读全文
摘要:思路: 二进制加法用手算,然后用代码实现。 手算的时候,逢 2 进 1 。 用代码实现的时候,一开始会想到将长短不一的字符串对齐。 其实没必要。 找到字符串的长度,长度减 1 。 就是这个字符串的末尾, 然后从末尾开始相加。逢 2 进 1。 相加并不仅仅是两个字符相加,还有进位的相加。 进位 : 进
阅读全文
摘要:规律不多说,可以去LeetCode看评论。 其实我很早就想到了解法,但是用 JAVA 我比较陌生,一直用代码实现不了解法。 几个月没做题,脑子比较迟钝,这个题目做了大概 3 小时 。 思路: 模拟规律,用循环做。 1.初始化 str = “1”; 2.一个循环,循环的层数即是 n 。 3.用一个 p
阅读全文
摘要:今天开始用java写算法题目。 题目大意,一个长度为 n 的数组,里面存放的数组是 0 到 n-1,数组中有重复数字的话就输出这个数字。 思路:将每个 nums[i] 的值 移动到他原来应该属于的地方,如果那个地方的值和现在的值相等,就重复了。 因为 java 不会使用,有下列语法错误。 1.给数组
阅读全文

浙公网安备 33010602011771号