摘要: ##描述: 将三种颜色作为012,要求将无序数组排为有序。 ##思路: 1.遍历,记录0,1,2的个数,然后重写数组。O(N)的时间复杂度。需要额外空间 2.采用交换的思想,遍历数组,将无序的数字交换到前后。O(N)的时间复杂度。空间复杂度O(1)。 ##代码: public void ThreeS 阅读全文
posted @ 2020-03-10 17:39 four_z 阅读(789) 评论(0) 推荐(0)
摘要: #在数组中找两个和为s的数的下标 ##思路 1.用哈希表,扫描数组,放入哈希表中,再一次扫描数组,在哈希表中找s-a[i]。时间复杂度O(n),空间复杂度O(n) 2.-先排序数组,再用前后两个指针向中间找。时间复杂度O(nlogn),空间复杂度O(1), ##代码: public class So 阅读全文
posted @ 2020-03-10 16:58 four_z 阅读(405) 评论(0) 推荐(0)
摘要: ##思路: dp[i][j]表示s[i]到s[j]的子串是否为回文。 如果s[i+1]到s[j-1]是回文串,那么再加上条件:s[i]==[j],则dp[i][j]为true。算法的时间复杂度依旧为O(N^2),但减少了重复计算的部分。 状态转移方程: 初始情况: dp[i][i]=1 dp[i][ 阅读全文
posted @ 2020-03-10 15:55 four_z 阅读(758) 评论(0) 推荐(0)