编程题
第一题:01字符串,每次只能删含有相同元素的连续子串,最少删多少次能删成空串;
这道题ac了,解法是先求连续子串的个数,对个数除以2向下取整加1
(每次必须从最中间先删,所以就相当于最中间那个连续子串是电灯泡,删掉电灯泡,两边就能有合并的机会,那么接下来每一次删除就等同于删掉合并了的两个连续子串,归纳一下就是上面的解法)
第二题:给两个字符串,可以修改第一个字符串的一个字符(只能修改第一个字符串,第二个不可以改),求两个字符串的相同前缀数和相同后缀数乘积。
这道题90%,解法是先求出相同前缀数和相同后缀数是多少,如果前缀数或者后缀数已经是第一个字符串的长度了,那么直接返回乘积,否则分别从前缀方向和后缀方向修改第一个不相同的字符,重新计算前缀数和后缀数去比较乘积大小,不知道遗漏了什么特殊情况。