摘要:
Q:你有两个字符串,即pattern和value。 pattern字符串由字母"a"和"b"组成,用于描述字符串中的模式。例如,字符串"catcatgocatgo"匹配模式"aabab"(其中"cat"是"a","go"是"b"),该字符串也匹配像"a"、"ab"和"b"这样的模式。但需注意"a"和 阅读全文
摘要:
Q:给定两条线段(表示为起点start = {X1, Y1}和终点end = {X2, Y2}),如果它们有交点,请计算其交点,没有交点则返回空值。 要求浮点型误差不超过10^ 6。若有多个交点(线段重叠)则返回X值最小的点,X坐标相同则返回Y值最小的点。 示例 1: 输入: line1 = {0, 阅读全文
摘要:
Q:请简化给出的Unix样式的文件绝对路径,也就是转换成规范路径 在Unix样式的文件系统中, .代表当前目录,.. 表示将目录向上移动一级,更多的介绍可以查看 Absolute path vs relative path in Linux/Unix 请注意,返回的规范路径必须以斜杠“/”开头,并且 阅读全文
摘要:
Q:给出一个非负整数数组,你最初在数组第一个元素的位置 数组中的元素代表你在这个位置可以跳跃的最大长度 判断你是否能到达数组最后一个元素的位置 例如 A =[2,3,1,1,4], 返回 true. A =[3,2,1,0,4], 返回 false. A: public static boolean 阅读全文
摘要:
Q:给出一个只包含0和1的二维矩阵,找出最大的全部元素都是1的长方形区域,返回该区域的面积。 A: 这个题感觉蛮巧妙的。 如果这个点为‘1’,先计算当前行的最大宽度,这说明最大宽度左边的都是保证可以是矩形的。然后往上看,用最小的宽度和当前的高度计算最大的矩形。 看图: 代码: public int 阅读全文
摘要:
Q:将给出的整数x翻转。 例1:x=123,返回321 例2:x=-123,返回-321 你有思考过下面的这些问题么? 如果整数的最后一位是0,那么输出应该是什么?比如10,100 你注意到翻转后的整数可能溢出吗?假设输入是32位整数,则将翻转10000000003就会溢出,你该怎么处理这样的样例? 阅读全文
摘要:
Q:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 A: 阅读全文
摘要:
Q:合并k个已排序的链表并将其作为一个已排序的链表返回。分析并描述其复杂度。 A:用小跟堆 public static ListNode mergeKLists(ArrayList<ListNode> lists) { if (lists == null || lists.size() == 0) 阅读全文
摘要:
Q:将给定的链表中每两个相邻的节点交换一次,返回链表的头指针 例如, 给出1->2->3->4,你应该返回链表2->1->4->3。 你给出的算法只能使用常量级的空间。你不能修改列表中的值,只能修改节点本身。 A: public static ListNode swapPairs(ListNode 阅读全文
摘要:
Q:给定一组不重叠的时间区间,在时间区间中插入一个新的时间区间(如果有重叠的话就合并区间)。这些时间区间初始是根据它们的开始时间排序的。 示例1: 给定时间区间[1,3],[6,9],在这两个时间区间中插入时间区间[2,5],并将它与原有的时间区间合并,变成[1,5],[6,9]. 示例2: 给定时 阅读全文