关闭

有环单链表相交判断、单链表相交判断

有环单链表相交判断 单链表相交判断有环单链表相交判断如何判断两个有环单链表是否相交?相交的话返回第一个相交的节点,不相交的话返回空。如果两个链表长度分别为N和M,请做到时间复杂度O(N+M),额外空间复杂度O(1)。给定两个链表的头结点head1和head2(注意,另外两个参数adjust0和adjust1用于调整数据,与本题求解无关)。请返回一个bool值代表它们是否相交。我的提交 (这题意描述...
阅读(42) 评论(0)

复杂链表的复制、链表判环、无环单链表判相交

复杂链表的复制 链表判环 无环单链表判相交 复杂链表的复制输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点)我的提交# -*- coding:utf-8 -*- # class RandomListNode: # def __init__(self, x): # self.label = x # self....
阅读(42) 评论(0)

链表指定值清除、链表的回文结构

链表指定值清除现在有一个单链表。链表中每个节点保存一个整数,再给定一个值val,把所有等于val的节点删掉。给定一个单链表的头结点head,同时给定一个值val,请返回清除后的链表的头结点,保证链表中有不等于该值的其它值。请保证其他元素的相对顺序。# 测试样例: {1,2,3,4,3,2,1},2 {1,3,4,3,1}我的提交# -*- coding:utf-8 -*- # class ListN...
阅读(51) 评论(0)

访问单个节点的删除、链表的分化、打印两个链表的公共值

访问单个节点的删除实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。给定带删除的头节点和要删除的数字,请执行删除操作,返回删除后的头结点。链表中没有重复数字我的提交 (是我理解错题意了???)# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x #...
阅读(69) 评论(0)

栈的反转、滑动窗口、数组变树

滑动窗口 有一个整型数组 arr 和一个大小为 w 的窗口从数组的最左边滑到最右边,窗口每次向右边滑一个位置。 返回一个长度为n-w+1的数组res,res[i]表示每一种窗口状态下的最大值。 以数组为[4,3,5,4,3,3,6,7],w=3为例。因为第一个窗口[4,3,5]的最大值为5,第二个窗口[3,5,4]的最大值为5,第三个窗口[5,4,3]的最大值为5。第四个窗口[4,3,3]的最大...
阅读(44) 评论(0)

相邻两数最大差值

有一个整形数组A,请设计一个复杂度为O(n)的算法,算出排序后相邻两数的最大差值。 给定一个int数组A和A的大小n,请返回最大的差值。保证数组元素多于1个。 # 测试样例: [1,2,5,4,6],5 返回:2 我的提交 # -*- coding:utf-8 -*- class Gap: def maxGap(self, A, n): # write cod...
阅读(44) 评论(0)

最短子数组

对于一个数组,请设计一个高效算法计算需要排序的最短子数组的长度。给定一个int数组A和数组的大小n,请返回一个二元组,代表所求序列的长度。(原序列位置从0开始标号,若原序列有序,返回0)。保证A中元素均为正整数。# 测试样例: [1,4,6,5,9,10],6 返回:2 解题参考 :http://blog.csdn.net/u010033948/article/details/51396354...
阅读(56) 评论(0)

栈、队列(1)

目录可查询最值的栈 双栈队列 栈的反转 双栈排序 可查询最值的栈定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。我的提交# -*- coding:utf-8 -*- class Solution: def __init__(self): self.stack = [] self.minStack = [] def push(self...
阅读(54) 评论(0)

有序矩阵查找

现在有一个行和列都排好序的矩阵,请设计一个高效算法,快速查找矩阵中是否含有值x。给定一个int矩阵mat,同时给定矩阵大小nxm及待查找的数x,请返回一个bool值,代表矩阵中是否存在x。所有矩阵中数字及x均为int范围内整数。保证n和m均小于等于1000。测试样例: [[1,2,3],[4,5,6],[7,8,9]],3,3,10 返回:false我的提交# -*- coding:utf-8 -*...
阅读(50) 评论(0)

三色排序

有一个只由0,1,2三种元素构成的整数数组,请使用交换、原地排序而不是使用计数进行排序。给定一个只含0,1,2的整数数组A及它的大小,请返回排序后的数组。保证数组大小小于等于500。测试样例: [0,1,1,0,2,2],6 返回:[0,0,1,1,2,2]我的提交# -*- coding:utf-8 -*-class ThreeColor: def sortThreeColor(self,...
阅读(48) 评论(0)

有序数组合并

有两个从小到大排序以后的数组A和B,其中A的末端有足够的缓冲空容纳B。请编写一个方法,将B合并入A并排序。给定两个有序int数组A和B,A中的缓冲空用0填充,同时给定A和B的真实大小int n和int m,请返回合并后的数组我的提交# -*- coding:utf-8 -*- class Merge: def mergeAB(self, A, B, n, m): # writ...
阅读(47) 评论(0)

重复值判断

请设计一个高效算法,判断数组中是否有重复值。必须保证额外空间复杂度为O(1)。给定一个int数组A及它的大小n,请返回它是否有重复值。# 测试样例: [1,2,3,4,5,5,6],7 返回:true我的提交# -*- coding:utf-8 -*- class Checker: def checkDuplicate(self, a, n): # write code he...
阅读(36) 评论(0)

小范围排序

已知一个几乎有序的数组,几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离可以不超过k,并且k相对于数组来说比较小。请选择一个合适的排序算法针对这个数据进行排序。给定一个int数组A,同时给定A的大小n和题意中的k,请返回排序后的数组。# 测试样例: [2,1,4,3,6,5,8,7,10,9],10,2 返回:[1,2,3,4,5,6,7,8,9,10]我的提交 (照着参考答案改的,结果显...
阅读(40) 评论(0)

基数排序

对于一个int数组,请编写一个基数排序算法,对数组元素排序。给定一个int数组A及数组的大小n,请返回排序后的数组。保证元素均小于等于2000。测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5]我的提交# -*- coding:utf-8 -*-class RadixSort: def radixSort(self, A, n): # write code...
阅读(32) 评论(0)

计数排序

对于一个int数组,请编写一个计数排序算法,对数组元素排序。给定一个int数组A及数组的大小n,请返回排序后的数组。# 测试样例: [1,2,3,5,2,3],6 [1,2,2,3,3,5]我的提交# -*- coding:utf-8 -*-class CountingSort: def countingSort(self, A, n): # write code here...
阅读(33) 评论(0)
187条 共13页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:66984次
    • 积分:2058
    • 等级:
    • 排名:第19644名
    • 原创:135篇
    • 转载:52篇
    • 译文:0篇
    • 评论:23条
    博客专栏