摘要: 这题直接用遍历的话时间复杂度也只有O(n),但是没必要,因为通过将二分查找法进行一定的修改就可以做到,二分查找法比直接遍历要更快。如果target存在于数组中,二分查找法找出来的下标返回即可;如果不存在于数组中,那么分为两种情况,一种是left等于right,这种情况在target比数组中最小值还小 阅读全文
posted @ 2019-10-24 18:23 xbc121 阅读(176) 评论(0) 推荐(0)
摘要: 思路一:有效的括号其实就是包括了三种类型:第一种,每个括号的左括号和右括号相邻,比如{}[]();第二种,对称型的,左边的括号和右边的括号的位置对称,比如:([{}]);第三种就是前两种类型的组合。 那么可以发现,对于第二种类型来说,只要重复把最中间的左括号和右括号删除的操作,一个有效的括号字符串最 阅读全文
posted @ 2019-10-24 10:35 xbc121 阅读(104) 评论(0) 推荐(0)
摘要: 我的代码:l为字符串中第一个数字的位置,r为最后一个数字的位置。用substring方法将这段为数字的字符截取,然后利用了parseInt方法在越界的时候会报异常来处理越界情况。 class Solution { public int myAtoi(String str) { String t=st 阅读全文
posted @ 2019-10-18 20:44 xbc121 阅读(106) 评论(0) 推荐(0)
摘要: 思路一:用HashMap类,用字符型作为key,其对应的数为value。当一个字符代表的数小于其后一个字符代表的数时,这个数等于后一个字符代表的数减去该字符代表的数,否则等于二者相加。用HashMap是因为不需要思考如何遍历,直接找到Key就行。 class Solution { public in 阅读全文
posted @ 2019-10-18 03:42 xbc121 阅读(337) 评论(0) 推荐(0)
摘要: 想法一:可以先建立一个表格,里面有特殊值对应的字符串,当输入一个数num时,找出不大于num的最大特殊值x,同时输出x代表的字符串。接着,num=num-x,重复上述操作,直到num=0。 这个表格可以用一个整形数组和一个字符串数组共同建立。需要注意的是这两个数组中的数值和字符串需要一一对应,而且数 阅读全文
posted @ 2019-10-16 15:42 xbc121 阅读(137) 评论(0) 推荐(0)
摘要: 1.暴力求解法 用两层嵌套for循环来做,设定一个初值为零的变量maxArea,遍历整个数组,maxArea会等于(j-i)*Math.min(height[i],height[j])与maxArea中的更大值。遍历完毕即得到答案。显然,时间复杂度O(n2),空间复杂度O(1)。 2.双指针 设定l 阅读全文
posted @ 2019-10-11 19:56 xbc121 阅读(110) 评论(0) 推荐(0)
摘要: 我的思路:首先,求出x的位数,然后用一个数组存储其每一位的数字。接下来,用一个for循环判断是否回文。注意,这里如果得到的数组中的数字是从个位开始到最高位排序的。如果不用for循环判断是否回文,而是将数组中第一个数字作为最高位来求出该数组表示的一个数,时间复杂度要更高,且存在溢出,会报错。 代码: 阅读全文
posted @ 2019-10-09 16:13 xbc121 阅读(175) 评论(0) 推荐(0)
摘要: 思路:(1)将每行的字符串存储到字符串数组中的一个字符串中,最后将字符数组中的字符串按顺序连接起来,就是答案。实际上就是按照这个Zigzag形成的过程走一遍,在0或者numRows-1的时候数组下标要发生变化。要注意的是,在字符串数组初始化时,若没有用大括号指定其中每个字符串的,其默认每个初始值为n 阅读全文
posted @ 2019-10-09 00:31 xbc121 阅读(103) 评论(0) 推荐(0)
摘要: 今天复习了插入排序。插入排序的主要思想类似于玩扑克牌的洗牌,假设之前的元素都是有序的,将取出的元素key和之前有序的元素进行比较,如果之前元素比key大,就向后挪一个位子,否则就不用挪动。找到最后一个比key大的元素并且将它向后挪了一个位子之后,空出来的那个位子就是key的位子了。现在我来写一下插入 阅读全文
posted @ 2019-07-19 21:21 xbc121 阅读(112) 评论(0) 推荐(0)
摘要: 今天复习了一下归并排序,现在来写一下归并排序的主要函数的代码 public static void mergeSort(int[]arr,int l,int r){ int mid=l+(r-l)/2; if(l<r){//要注意的地方,只有在l<r的时候才进行递归 mergeSort(arr,l, 阅读全文
posted @ 2019-07-12 14:15 xbc121 阅读(116) 评论(0) 推荐(0)