LeetCode题目整理(每日更新)
时间:2021-03-09 13:09:19
收藏:0
阅读:0
解法:枚举
特点:注意考虑边界情况
知识点:vector使用,数组长度 .size(),添加元素 .push_back(i)。
2. 两数相加(需重做)(C++)
解法:从左到右依次相加,考虑进位,注意考虑
知识点:链表的写法和使用
3.无重复字符的最长子串(未做完)
特点:
知识点:
-
string使用
-
判断字符串内是否含有重复字符:用哈希集合,即C++中的std::unordered_set,Java中的HashSet。
4. 寻找两个正序数组的中位数(Java,可分治法优化)
解法:
-
将两个数组按位比较合成新的数组,求中位数,时间复杂度O(m+n)
-
分治法,先分别求中位数,然后进行比较(暂时没写)
知识点:
-
返回数组长度用.length属性,字符串长度用.length()方法
-
Java中数组都是定长的,不定长的可用Vector或者ArrayList,但这两种数据结构均是以Object形式存储每个元素,用.add()方法添加元素,.get()方法获得元素
9. 回文数(Java)
解法:
-
类似汇编的回文数,整数转字符串比较,
-
取余取模,
-
取后半段整数将其翻转后一一比较
知识点:
-
Java中 Integer.toString(i) 函数将整数转为字符串
-
String类型数据进行下标索引时需用 char ch = str.charAt(i),其中i是下标
-
评论(0)