摘要:
题目描述: 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 示例 1: 输入:s = "bcabc" 输出:"abc" 示例 2: 输入:s = "cbacdcbc" 输出:"acdb" 提示: 1 <= s 阅读全文
摘要:
题目描述: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10 解题思路: 看题目本身,跟经典的接雨水 阅读全文
摘要:
题目描述: 给定一个长二进制串,求其除以3的余数 思路分析: 这里涉及到状态机,由于除以三的余数只可能是0,1,2。所以状态机就有三个状态。现在逐个遍历二进制串,初始余数为0,当遇到1时,状态转到1,遇到0时状态仍为0。对于状态1,判断分别遇到0和1的状态变换:遇到0,即余数为2转到状态2;遇到1, 阅读全文
摘要:
题目描述: 互娱手撕代码题。 统计从1到n这n个数的二进制表示中1出现的次数。 思路分析: 思路一:直接的做法是从1遍历到n,对于每个数和1做与操作,之后,对于这个数不断做右移操作,不断和1做与操作,直到当前数为0。这样的算法复杂度为O(nlogn)。 思路二:优化时间复杂度,那么考虑用空间换时间。 阅读全文
摘要:
题目描述: 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路分析: 二叉树的镜像就是左右相反,对称二叉树即镜像相等。利用一个递归函数,输入为两颗树,若同为空,则对称。若一棵为空,一棵不为空,则不对称。若二者的指不相等,则不对称,若树 阅读全文
摘要:
题目描述: 给你一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 阅读全文
摘要:
题目描述: 给定一个字符串s,找到其中最长的回文子序列。可以假设s的最大长度为1000。 示例 1:输入: "bbbab"输出: 4一个可能的最长回文子序列为 "bbbb"。 示例 2:输入: "cbbd"输出: 2一个可能的最长回文子序列为 "bb"。 解题思路: 利用动态规划求解,dp[i][j 阅读全文
摘要:
题目描述: 最初在一个记事本上只有一个字符 'A'。你每次可以对这个记事本进行两种操作: Copy All (复制全部) : 你可以复制这个记事本中的所有字符(部分的复制是不允许的)。Paste (粘贴) : 你可以粘贴你上一次复制的字符。给定一个数字 n 。你需要使用最少的操作次数,在记事本中打印 阅读全文
摘要:
题目描述: 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2: 输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()" 思路分析: 思路一:涉及括号的问题,一般 阅读全文
摘要:
题目描述: 我们给出 S,一个源于 {'D', 'I'} 的长度为 n 的字符串 。(这些字母代表 “减少” 和 “增加”。)有效排列 是对整数 {0, 1, ..., n} 的一个排列 P[0], P[1], ..., P[n],使得对所有的 i: 如果 S[i] == 'D',那么 P[i] > 阅读全文