- 博客(9)
- 收藏
- 关注
原创 leetcode 7 整数反转
笨方法:先转成字符串,再反转,再转回intint转String:1.String.valueOf(i)2.Integer.toString(i)3.i+""String转int:1.Integer.valueOf(str)2.Integer.paeseInt(str)public static int reverse(int x) { String s = String.valueOf(x);//将x转成字符串类型 int flag = 1;
2021-03-09 19:33:04 93
原创 leetcode 5 最长回文子串
先贴一个我自己只能想到的笨方法,暴力枚举。class Solution { public static boolean judge(String s) { String ss = new StringBuffer(s).reverse().toString(); if(s.equals(ss)){ return true; }else{ return false; } }
2020-11-24 17:20:43 101
原创 leetcode 3 无重复字符的最长子串
最简单的二重循环就不说了,这里详细讨论我新学到的滑动窗口思想。举个例子,比如abcdefadcb这个串,如果按照最笨的二重循环挨个找的话,右指针先是在第二个a那里停下,然后左指针右移一个位置,从第一个b那里开始,又开始挨个比对后面的cdefadc,直到右指针遇到第二个b,又停下。但是这种做法其实做了很多无用功,因为当第一次左指针指向a时,右指针在第二个a那里停下,说明在这之间的所有字符都不会出现重复的,也就是说,我们根本没有必要去考察第二个a之前是否会出现重复的b,要想出现重复的b,一定是在右指针第一次
2020-11-17 18:59:56 112 1
原创 leetcode 2 两数相加
这个题最难的地方在于怎样处理当l1和l2的长度不同的时候,最后一直不停进位的问题。一开始的时候想的是等while(l1 != null && l2 != null)跳出循环后,直接把更长的那个链表还剩的部分连接到l3后面,但是这样做就根本没考虑最后万一进位的问题。然后想着,最后判断一次,如果进位值 = 1,就new一个节点,挂到l3后面。但是还是不行,因为遇到999+999999这种最后一位一直不停进位的就需要不停地new新节点。最后看了别人的思路:不管l1和l2的长度是否相同,都把
2020-11-13 08:38:53 62
原创 leetcode 1 两数之和
暴力双重循环就不说了,这里说用哈希表的做法。思路就是在遍历nums数组的过程中,把nums数组的每个元素的值作为key,把元素的下标作为value,存到HashMap中,每遍历一个新元素nums[i]时,先判断与之对应的target-nums[i]是否在哈希表中,如果在,说明找到了这样的两个数,返回他们的下标,也就是他们作为key在哈希表中对应的value,如果没找到,那就将其加入到哈希表中。class Solution { public int[] twoSum(int[] nums, int
2020-11-10 19:57:20 126
原创 linux里面cd的用法
linux里面cd的用法cd后面如果加/代表从根目录开始找(绝对路径)cd后面不加/代表从当前目录开始找cd后面什么都不加表示切换到当前用户家目录下的用户主目录,也就是cd等价于cd /home/hibara_ai...
2020-09-17 12:39:51 880
原创 打印一个对象时就是print了他的toString方法
打印一个对象时就是print了他的toString方法package cn.mldn.demo;class Color{ private static final Color RED = new Color("红色");//实例化对象 private static final Color GREEN = new Color("绿色");//实例化对象 private static final Color BLUE = new Color("蓝色");//实例化对象 pri
2020-09-05 09:40:50 429
原创 leetcode 70 爬楼梯
leetcode 70 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。最容易想到的方法就是无脑递归int climbstairs(int n){ if(n==1) return 1; else if(n==2) return 2; else return(climbstairs(n-1)+climbstairs(n-1));}但是这样做会超时,因为进行了太多重复的计算
2020-06-13 17:41:09 139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人