随笔分类 -  算法编程

摘要:题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 示例1 输入 ["abca","abc","abca","abc","abcc"] 返回值 "abc" # # # @param strs string字符串一维数组 # @return string字符串 # class Solution: 阅读全文
posted @ 2021-01-10 15:53 蒋励 阅读(137) 评论(0) 推荐(0)
摘要:题目描述 输入两个链表,找出它们的第一个公共结点。 (注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) Tips: 首先我们要知道什么是公共节点,两个链表从某一节点开始,他们的next都指向同一个节点。但由于是单向链表的节点,每个节点只有一个next,因此从第 阅读全文
posted @ 2021-01-10 12:11 蒋励 阅读(113) 评论(0) 推荐(0)
摘要:题目描述 对于一个给定的字符串,我们需要在线性(也就是O(n))的时间里对它做一些变形。首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把着个字符串中由空格隔开的单词反序,同时反转每个字符的大小写。比如"Hello World"变形后就变成了"wORLD hELL 阅读全文
posted @ 2021-01-10 11:06 蒋励 阅读(117) 评论(0) 推荐(0)
摘要:题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5递归法: class Solution: def Mirror(self , pR 阅读全文
posted @ 2021-01-10 11:04 蒋励 阅读(93) 评论(0) 推荐(0)
摘要:给出两个有序的整数数组 和 ,请将数组 合并到数组 中,变成一个有序的数组注意:可以假设 数组有足够的空间存放 数组的元素, 和 中初始的元素数目分别为 和 # # # @param A int整型一维数组 # @param B int整型一维数组 # @return void # class So 阅读全文
posted @ 2021-01-10 10:30 蒋励 阅读(144) 评论(0) 推荐(0)
摘要:题目描述 请实现有重复数字的有序数组的二分查找。 输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。 示例1 输入 5,4,[1,2,4,4,5] 返回值 3 说明 输出位置从1开始计算 # # 二分查找 # @param n int整型 数组长度 # @para 阅读全文
posted @ 2021-01-10 09:37 蒋励 阅读(149) 评论(0) 推荐(0)
摘要:题目描述 给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数 示例1 输入 7,2 返回值 "111" # # 进制转换 # @param M int整型 给定整数 # @param N int整型 转换到的进制 # @return string字符串 # class Solut 阅读全文
posted @ 2021-01-10 09:23 蒋励 阅读(136) 评论(0) 推荐(0)
摘要:https://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f?tpId=188&&tqId=37022&rp=1&ru=/activity/oj&qru=/ta/job-code-high-week/question-ranki 阅读全文
posted @ 2021-01-09 10:32 蒋励 阅读(429) 评论(0) 推荐(0)
摘要:https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca?tpId=188&&tqId=36997&rp=1&ru=/activity/oj&qru=/ta/job-code-high-week/question-ranki 阅读全文
posted @ 2021-01-08 17:29 蒋励 阅读(103) 评论(0) 推荐(0)
摘要:要求:如果链表长度为N,时间复杂度要求为O(N),额外的空间复杂度要求为O(1) public class Problem04_ReverseList { // 单链表数据结构 public static class Node { public int value; public Node next; pub... 阅读全文
posted @ 2017-05-17 12:00 蒋励 阅读(191) 评论(0) 推荐(0)
摘要:[题目]: 给定链表的头节点 head,实现删除链表的中间节点的函数。 例如: 步删除任何节点; 1->2,删除节点1; 1->2->3,删除节点2; 1->2->3->4,删除节点2; 1->2->3->4-5,删除节点3; [进阶]: 给定链表的头节点 head、整数 a 和 b,实现删除位于 阅读全文
posted @ 2017-05-16 17:49 蒋励 阅读(345) 评论(0) 推荐(0)
摘要:题目: 分别实现两个函数,一个可以删除单链表中倒数第K个节点,另一个可以删除双链表中倒数第K个节点。 要求: 如果链表长度为N,时间复杂度达到O(N),额外空间复杂度达到O(1)。 解答: 让链表从头走到尾,每移动一步,就让K值减一, 示例: 第一种情况: 链表走到结尾时,如果K值大于0,说明不用调整链表,因为链表根本没有倒数第K个节点,此时将原链表直接返回即可; 第二种情况: 链表走... 阅读全文
posted @ 2017-05-16 12:07 蒋励 阅读(284) 评论(0) 推荐(0)
摘要:要求: 在一个栈中元素的类型为整型,现在想将该栈从栈顶到栈底按从大到小的顺序排序,只许申请一个栈,除此之外,可以申请其他变量,但是不能申请额外的数据结构 解题思路: 待排序的栈stack, 辅助栈help。 在stack上执行pop操作,记元素为cur if cur 【help 的栈顶元素】,逐一弹出help, 直到cur 【help 的栈顶元素】,逐一弹出h... 阅读全文
posted @ 2017-05-09 15:32 蒋励 阅读(775) 评论(0) 推荐(1)
摘要:实现一种猫狗队列的结构,要求如下: 思路:猫和狗两个队列,设计一个类PetEnterQueue ,用于记录放入队列的每个元素的时间戳,取出时按时间戳来判断从dog队列或cat队列取出元素 代码运行结果: 阅读全文
posted @ 2017-05-04 22:25 蒋励 阅读(1030) 评论(0) 推荐(0)
摘要:要求: 一个栈依次压入1,2,3,4,5那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,而不能用另外的数据结构。 运行结果: 阅读全文
posted @ 2017-05-02 17:29 蒋励 阅读(425) 评论(1) 推荐(0)
摘要:要求:编写一个类,用两个栈实现队列,支持队列的基本操作(add、poll、peek)。 add 增加一个元索 如果队列已满,则抛出一个IIIegaISlabEepeplian异常remove 移除并返回队列头部的元素 如果队列为空,则抛出一个NoSuchElementException异常eleme 阅读全文
posted @ 2017-05-02 16:36 蒋励 阅读(206) 评论(1) 推荐(0)
摘要:题目: 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。 要求: 1、pop、push、getMin操作的时间复杂度都是O(1) 2、设计的栈类型可以输用现成的栈结构 解答: 借助另一个栈,记录stackData栈中的最小元素,【stackMin 栈保存最小元素】 import java.util.Stack; public class Problem001_Get... 阅读全文
posted @ 2017-05-02 15:37 蒋励 阅读(207) 评论(0) 推荐(0)
摘要:题目: 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。 要求: 1、pop、push、getMin操作的时间复杂度都是O(1) 2、设计的栈类型可以输用现成的栈结构 解答: 借助另一个栈,记录stackData栈中的最小元素,【stackMin 栈保存最小元素】 import java.util.Stack; public class Problem01_Get... 阅读全文
posted @ 2017-05-02 15:02 蒋励 阅读(221) 评论(0) 推荐(0)