06 2020 档案

摘要:一,问题 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 二,分析 表示数值的:"+100" , 阅读全文
posted @ 2020-06-24 13:10 董不耀 阅读(641) 评论(0) 推荐(0) 编辑
摘要:一,问题 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。如果当前字符流没有存在出现一次的字符,返回#字符。 二,分析 ### 三,代码 阅读全文
posted @ 2020-06-24 11:37 董不耀 阅读(371) 评论(0) 推荐(0) 编辑
摘要:一,问题 在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它 阅读全文
posted @ 2020-06-24 01:27 董不耀 阅读(729) 评论(0) 推荐(0) 编辑
摘要:一,问题 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 二,分析 这道题比较简单,直接上代码 三,代码 阅读全文
posted @ 2020-06-24 00:30 董不耀 阅读(65) 评论(0) 推荐(0) 编辑
摘要:一,问题 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 二,分析 在牛客上看到 阅读全文
posted @ 2020-06-24 00:18 董不耀 阅读(436) 评论(0) 推荐(0) 编辑
摘要:一,问题 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * ... * A[n-1],B[n- 阅读全文
posted @ 2020-06-23 23:10 董不耀 阅读(88) 评论(0) 推荐(0) 编辑
摘要:一,问题 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4] 阅读全文
posted @ 2020-06-23 22:19 董不耀 阅读(226) 评论(0) 推荐(0) 编辑
摘要:一,题目描述 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为 阅读全文
posted @ 2020-06-23 20:45 董不耀 阅读(208) 评论(0) 推荐(0) 编辑
摘要:一,问题 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 二,分析 这道题用python很好做,用insert函数即可 做一个空数组ArrayList=[ ] 然后用指针pos 遍历链表,之后ArrayList.insert(pos.val)就行了 三,代码 阅读全文
posted @ 2020-06-23 19:03 董不耀 阅读(81) 评论(0) 推荐(0) 编辑
摘要:一,问题 输入一个链表,输出该链表中倒数第k个结点。 二,分析 先举一个栗子:有这么一个链表:我们做两个指针,让他们构成一个尺子,所以一个叫尺子头,一个叫尺子尾 rulertou=head rulerwei=head 让这个尺子的长度为k for i in range(k): rulertou= r 阅读全文
posted @ 2020-06-23 18:37 董不耀 阅读(306) 评论(0) 推荐(0) 编辑
摘要:一,问题 输入一个链表,反转链表后,输出新链表的表头。 二,分析 先举个栗子:有如下链表 我们先定义三个指针left,mid,right left=pHead mid=left.next right=mid.next 然后掐断4指向1的next指针 left.next=None 让mid.next转 阅读全文
posted @ 2020-06-23 18:21 董不耀 阅读(917) 评论(0) 推荐(1) 编辑
摘要:一,问题 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则 二,分析 先举一个栗子: 有如下两个链表: 我们做一个指针叫top,他指向两个链表中表头较小的那个。之后他就不动了,等着被输出 再做两个指针,一个叫up一个叫down,分别指向上链表和下链表 up= 阅读全文
posted @ 2020-06-23 18:09 董不耀 阅读(455) 评论(0) 推荐(0) 编辑
摘要:一:问题描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 二,分析 先举个栗子,有如下链表,每个节点除了指向下 阅读全文
posted @ 2020-06-23 17:37 董不耀 阅读(229) 评论(0) 推荐(0) 编辑
摘要:一,问题输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 二,分析 先举个栗子:有如下二叉搜索树,想成为排序的双向链表 我们需要先找到根节点的左孩子,再找到左孩子的最右叶子节点,让这个叶子节点和根节点用指针互指。 代码: left=p 阅读全文
posted @ 2020-06-23 16:30 董不耀 阅读(249) 评论(0) 推荐(0) 编辑
摘要:一,问题描述:输入两个链表,找出它们的第一个公共结点。 二,分析 先举个具体的栗子: 有两个链表,上短下长 我们先做两个指针,分别指向上下链表的头节点 让上下两个指针一起走,这样必然有个先到None的 谁先到None说明谁的链表长 这时,我们让短链表的指针也走到None,看他需要走几步。这样就测出了 阅读全文
posted @ 2020-06-23 16:17 董不耀 阅读(492) 评论(0) 推荐(0) 编辑
摘要:一,问题描述:游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到**m-1**的那个小朋友要出列,并且不再回到圈中,从他的下一个小朋友开始,继续**0...m-1**报数....这样下去....直到剩下最后一个小朋友拿到礼品。那么哪个小朋友会得 阅读全文
posted @ 2020-06-23 16:01 董不耀 阅读(134) 评论(0) 推荐(0) 编辑
摘要:一,题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 二,分析 首先,我们做了个头节点叫result,并让头指针result.next指向头节点然后又做了两个指针,re 阅读全文
posted @ 2020-06-23 15:40 董不耀 阅读(89) 评论(0) 推荐(0) 编辑
摘要:一,问题 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 二,分析 首先要检查链表是否有环。 我们定义两个指针,一快一慢,规定快的每次能走两格,慢的只能走一格。如果快的先跑到了None,就说明链表无环。 如果快的和慢的相遇了,那么就说明有环 代码: fast=pNode 阅读全文
posted @ 2020-06-23 15:23 董不耀 阅读(123) 评论(0) 推荐(0) 编辑