自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 小白算法刷题Day7

复原IP地址:回溯法,ip总共由三个点分割,在一个ip定下之后 下一个ip只可能有3个位置。用回溯法找出所有使ip符合规则的点的组合。放置完三个点之后,如果当前的位置已经是字符串结尾了,说明ip第四部分没值,这时候不会有合法组合,需要删除刚添加的部分并回溯。如果第四部分合法则当前ip合法, 添加第四部分之后将当前ip加入ans里,并删除末尾部分。用parseInt判断范围的时候,字符串里可能会有超出int范围的数,所以先判断长度筛选一波,长度大于3的直接忽略。需要注意的是什么时候需要删除possibleAn

2021-09-22 11:25:41 80

原创 小白算法刷题Day6

单词的压缩编码:利用HashSet来实现单词的后缀取去重。 先将每个单词存入Set里,遍历一个单词数组,遍历每个单词的所有可能后缀,尝试在set中删除这一后缀,利用set.remove();的特点,如果存在才删除,存在就说明有某个单词是当前这个单词的后缀,便不用加入有效编码。最后留下来的部分都是需要加入到有效编码长度里的单词。 有个快捷将数组数据加入到set里的方法是: HashSet<String> set = new HashSet<String>(Arrays.asLis

2021-09-19 10:20:41 106

原创 小白算法刷题Day5

整数翻转:int 类型的范围是 , 将数字不断取余10 得到的每一位都加入ArrayList里,定义一个Long ans,把ArrayList里的数字正序乘10多少次方,计算出结果, 如果最后(int)ans == ans就返回ans 否则返回0. 不等的时候说明ans已经超过int的最大值。 class Solution { public int reverse(int x) { List<Integer> number = new ArrayList<I

2021-09-17 16:25:13 112

原创 小白算法刷题Day4

最大正方形:思路是利用动态规划求解。遍历所有可能的长度,把矩阵中的每个点都当成这个长度下的正方形的右下角,判断当前长度下以这个点为右下角的正方形是否存在,存在DP[i][j]等于面积。判断的条件是确定这个点的上方,左方,左上方的值不小于上一轮的lenth*length。加入一个ans 每次找到更大的面积就更新ans。最后返回ans便是答案。 class Solution { public int maximalSquare(char[][] matrix) { int max

2021-09-17 09:51:05 107

原创 小白算法刷题Day3

获取一个二维数组的行数 eg.length , 获取一个二维数组的列数 eg[0].length. 岛屿的数量思路:dfs 其实类似于感染, 遇到同类就感染,直到到了边界或不是同类的时候就返回(递归思想)。所有遇到的同类都应该被标记(如果不可再次访问的话),以防再次访问。 class Solution { public int numIslands(char[][] grid) { int islandNum = 0; for(int i = 0; i <

2021-09-16 10:09:04 74

原创 小白算法刷题Day2

List<List<Integer>> list : 1.List 不能被实例化,即不能等于new List。。。。 2.可以被实例化成ArrayList(注意AL大写)。 3.同样内部的List<Integer> 也要被实例成ArrayList<Integer>() 4.list.add(listTemp);之后 如果listTemp被改变了, list里的listTemp部分也被改变。因为List是引用类型, 将对象传入List的时候要new一个新

2021-09-15 08:14:35 129

原创 小白算法刷题Day1

java 中的string是无法改变的,这意味着在调用replace等方法时实际上是创建了一个新的string。如果此时仅使用s.replace("xx",""); s还是原来的s。只能通过重新分配来改变s。方法如下: s = s.replace("xx",""); Stack 的定义 Stack<Object类型> stack = new stack<Object 类型>(); Object类型可以不特意声明,这样stack中存的可以是各种你自己创建的或者现有的object。如

2021-09-13 16:00:29 110

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除