面试题
LucianaMq
这个作者很懒,什么都没留下…
展开
-
求数组中和最大的子数组并输出该子数组序列
输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。输出和最大的子数组。要求时间复杂度为O(n)。例如输入的数组为A={0,-6,3,5,-1,2},和最大的子数组为{3,5,-1,2},因此输出为该子数组的和9。代码如下所示:nums=[]d=[]n=int(input('输入数组长度:'))for i in range(0,n):...原创 2019-06-22 17:37:59 · 1284 阅读 · 1 评论 -
最大子序列和的四种算法
具体题目见上一篇穷举法算出每个子序列的和,即算出序列中第i个到第j个数的和(j>=i),并进行比较。运行时间为O(N^3)maxSum = 0;nums=[]d=[]n=int(input('输入数组长度:'))for i in range(0,n): k=int(input('输入数据:')) nums.append(k)for i in range(0,...转载 2019-06-22 19:18:49 · 381 阅读 · 0 评论 -
链表表示两数相加
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807代码:# Def...转载 2019-07-09 14:18:04 · 157 阅读 · 0 评论 -
整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。思路:先将整数通过取模,...原创 2019-07-09 16:52:44 · 83 阅读 · 0 评论 -
字符串转换整数
题目:请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符...原创 2019-07-09 20:27:41 · 93 阅读 · 0 评论 -
将两个有序列表组合成新的有序列表,并去除重复元素
题目:有两个有序列表A和B,合并A和B成为一个新的有序列表C,并去除其中的重复元素。法一:思路:set集合是不存在重复元素的,list列表内的元素是有序的,因此可将两者进行嵌套。先将列表合并,再利用set去重,最后按原序列排序。代码:def newList(A,B): C=A+B #将两个列表合并(没去重) ...原创 2019-07-05 09:09:18 · 2787 阅读 · 0 评论 -
找到最长子字符串的长度,并且所有字符不重复
题目:给定一个字符串,找到最长子字符串的长度,要求子字符串中所有字符不重复。Example:Input: “abcabcbb”Output: 3Explanation: 满足条件的最长子字符串为 “abc”, 长度为3.思路:令max=0,从头遍历字符串,边遍历边计数count,当遍历到与前面存在相同字符处时,比较max与count,若count大于max,则令max等于count...原创 2019-07-05 09:40:39 · 728 阅读 · 0 评论