摘要:
一、设计一个有getMin功能的栈 题目:实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。pop、push、getMin操作的时间复杂度都是O(1). 思路:设计两个栈,一个栈用来保存当前栈中的元素,其功能和一个正常的栈没有区别,这个栈记为stackData;另一个栈用来 阅读全文
摘要:
一、找到无序数组中最小的k个数 二、在数组中找到出现次数大于N/K的数 三、最长的可整合子数组的长度 四、不重复打印排序数组中相加和为给定值的所有二元组和三元组 五、未排序正数数组中累加和为给定值的最长子数组的长度 六、未排序数组中累加和为给定值的最长子数组系列问题 七、未排序数组中累加和小于或等于 阅读全文
摘要:
一、转圈打印矩阵 题目:给定一个整型矩阵matrix,按照转圈的方式打印它。 要求:额外空间复杂度为O(1) 思路:矩阵分圈处理问题。用矩阵中左上角的坐标(tR,rC)和右下角的坐标(dR,dC)就可以表示一个子矩阵。 例如:(0,0)和(3,3)表示的是原来矩阵的最外层,此时打印:1 2 3 4 阅读全文
摘要:
一、将整数字符串转成整数值 二、判断字符数组中是否所有的字符都只出现过一次 三、在有序但含有空的数组中查找字符串 四、数组中两个字符串的最小距离 五、添加最少字符使字符串整体都是回文字符串 六、括号字符串的有效性和最长有效长度 七、公式字符串求值 八、0左边必有1的二进制字符串数量 九、拼接所有字符 阅读全文
摘要:
一、判断两个字符串是否互为变形词 问题:给定两个字符串str1和str2,如果str1和str2中出现的字符种类一样且每种字符出现的次数也一样,那么str1与str2互为变形词。 举例:str1=“123”,str2=“231”,返回true。str1=“123”,str2=“2331”,返回fal 阅读全文
摘要:
一、环形单链表的约瑟夫问题 二、判断一个链表是否为回文结构 三、将单向链表按某只划分成左边小、中间相等、右边大的形式 四、复制含有随机指针节点的链表 五、两个单链表相交的一系列问题 六、将单链表的每K个节点之间逆序 七、将搜索二叉树转换成双向链表 阅读全文
摘要:
单链表Node节点类 双链表DoubleNode类 一、打印两个有序链表的公共部分 问题:给定两个有序链表head1和head2,打印两个链表的公共部分 解答:(1)如果head1的值小于head2,则head1向下移动。(2)如果head2的值小于head1的值,则head2向下移动。(3)如果h 阅读全文