Leetcode
刷题笔记,Java解决
qq_37589257
这个作者很懒,什么都没留下…
展开
-
Java:14. 最长公共前缀
描述题解代码class Solution { public String longestCommonPrefix(String[] strs) { String str=""; int len=strs.length; int i,j; char c; if(len==0) return str; for(j=0;j<len;j++){ if(原创 2020-08-13 21:42:54 · 137 阅读 · 1 评论 -
java:13. 罗马数字转整数
描述原创 2020-08-13 21:05:45 · 110 阅读 · 0 评论 -
Java:12. 整数转罗马数字
描述原创 2020-08-13 21:05:05 · 156 阅读 · 0 评论 -
Java:11. 盛最多水的容器
描述题解双指针法,维护一个最大面积,移动相对短的线段,因为移动相对短的线段,虽然减少了长,但宽可能增高了,带来更大的面积。代码 public int maxArea(int[] height) { //双指针法 int len=height.length; int i=0,j=len-1; int max_area=0,min_height; while(i<j){ min_hei原创 2020-08-13 21:04:09 · 87 阅读 · 0 评论 -
Java/leetcode:9. 回文数
描述题解如果是回文数,一定不会溢出但是不是回文就有可能溢出,用long代码 public boolean isPalindrome(int x) { long reverse=0,origin=x; int t; if(x<0) return false; if(x/10==0) return true; while(x!=0){原创 2020-08-13 20:29:39 · 78 阅读 · 0 评论 -
Java/leetcode:8. 字符串转换整数 (atoi)
描述请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是一个有效原创 2020-08-13 20:15:00 · 80 阅读 · 0 评论 -
Java/leetcode:7. 整数反转
代码class Solution { public int reverse(int x) { int number[]=new int[100]; int ret=0;//返回值 int t=0;//每位上的数字 int index=0; if(x==0) return x; while(x!=0){ t=x%10; number[原创 2020-08-13 15:59:13 · 73 阅读 · 0 评论 -
Java:6. Z 字形变换
描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。代码内存超出限制。。。为什么?class Solution { public String convert(String s, int n原创 2020-08-13 14:50:52 · 121 阅读 · 0 评论 -
Java:5. 最长回文子串
描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。题解1.中心扩展法算法思想:以center下标作为回文子串的中心,i标记回文子串的左边,j标记回文子串的右边,初始i和j为center,通过s[i] == s[j]不断从中心center向外扩展i–,j++。时间复杂度O(n^2)若最大回文子串长度为奇数,i和j同时从center扩展开,i=j=center原创 2020-08-13 00:24:03 · 131 阅读 · 0 评论 -
4寻找两个正序数组的中位数median-of-two-sorted-arrays(java)
描述给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例nums1 = [1, 3]nums2 = [2]则中位数是 2.0。nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)/2 = 2.5题解中位数:将一个集合划分为两个长度相等的子集,其中一个子集中的元素总是大于另一原创 2020-05-22 21:11:59 · 99 阅读 · 0 评论 -
3无重复字符的最长子串longest-substring-without-repeating-characters
描述原创 2020-05-08 20:06:59 · 156 阅读 · 0 评论 -
2两数相加
单链表原创 2020-05-08 19:59:47 · 118 阅读 · 0 评论 -
1两数之和two-sum
频繁出现的双指针思路原创 2020-05-08 17:23:24 · 70 阅读 · 0 评论