![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛课-leetcode
鹎鹎
这个作者很懒,什么都没留下…
展开
-
牛课力扣---NC14 按之字形顺序打印二叉树
该二叉树之字形层序遍历的结果是[[1],[3,2],[4,5]]# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def Print(self, pRoot): # write code he..原创 2021-09-27 20:17:51 · 150 阅读 · 0 评论 -
NC106 三个数的最大乘积
讨论三种情况:第一种:最大的三个都是正数,取后三个相乘即可;第二种:绝对值最大的三个数中有两个负数,取前两个负数及最后一个正数即可;绝对值最大的三个数中有一个负数或者三个负数都可以覆盖。## 最大乘积# @param A int整型一维数组 # @return long长整型#class Solution: def solve(self , A ): # write code here#方法1:排序 A = sorted(A)# 全都小于0原创 2021-09-19 01:16:55 · 65 阅读 · 0 评论 -
NC31 第一个只出现一次的字符( 字符串)
考察:字符串方法1:常规方法:根据相同字符个数为1的字符所在位置方法2:使用哈希表存储频数.可以对字符串进行两次遍历。在第一次遍历时,我们使用哈希映射统计出字符串中每个字符出现的次数。在第二次遍历时,我们只要遍历到了一个只出现一次的字符,那么就返回该字符,否则在遍历结束后返回空格。方法3:首先考虑用Hashmap这样的数据结构来把所有出现过的字符和他们对应的出现次数记录下来。接着,因为我们需要找到第一个只出现一次的字符,所以我们还需要把整个输入的字符串再遍历一遍,然后遍历时我们检测当前字符的出现次数原创 2021-09-18 23:27:56 · 82 阅读 · 0 评论 -
NC112 进制转换
描述给定一个十进制数 M ,以及需要转换的进制数 N 。将十进制数 M 转化为 N 进制数。当 N 大于 10 以后, 应在结果中使用大写字母表示大于 10 的一位,如 ‘A’ 表示此位为 10 , ‘B’ 表示此位为 11 。若 M 为负数,应在结果中保留负号。## 进制转换# @param M int整型 给定整数# @param N int整型 转换到的进制# @return string字符串#class Solution: def solve(self , M , N原创 2021-09-18 22:45:44 · 47 阅读 · 0 评论 -
牛课力扣---NC70 单链表的排序
# class ListNode:# def __init__(self, x):# self.val = x# self.next = None## # @param head ListNode类 the head node# @return ListNode类#class Solution: def sortInList(self , head ): # write code here .原创 2021-09-11 00:38:34 · 126 阅读 · 0 评论 -
牛课力扣---NC52 括号序列
## # @param s string字符串 # @return bool布尔型#class Solution: def isValid(self , s ): # write code here #方案1:字典简化代码 k = {'}':'{', ')':'(', ']':'['} stack = [] for a in s: if a in k.values(): .原创 2021-09-11 00:35:49 · 205 阅读 · 0 评论 -
牛课力扣---NC33 合并两个排序的链表
# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): # write code here #方案2 把结果用列表存放再返回用递归方法,不断进行比较合并返回原创 2021-09-10 01:22:45 · 95 阅读 · 0 评论 -
牛课力扣---NC33 合并两个排序的链表
描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: # 返回合并后列表 def Merge(self, pHead1, pHead2): # write co原创 2021-09-09 22:30:53 · 179 阅读 · 0 评论 -
牛课力扣---NC119 最小的K个数
描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。0 <= k <= input.length <= 100000 <= input[i] <= 10000# -*- coding:utf-8 -*-class Solution: def GetLeastNumbers_Solution(self, tinput, k): # write code here原创 2021-09-06 23:49:14 · 55 阅读 · 0 评论 -
牛课力扣---NC102 在二叉树中找到两个节点的最近公共祖先
描述给定一棵二叉树(保证非空)以及这棵树上的两个节点对应的val值 o1 和 o2,请找到 o1 和 o2 的最近公共祖先节点。注:本题保证二叉树中每个节点的val值均不相同。# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = None## # @param root TreeNode类 # @param原创 2021-09-06 22:39:54 · 104 阅读 · 0 评论 -
牛课力扣---NC41 最长无重复子数组
描述给定一个数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同。子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组## # @param arr int整型一维数组 the array# @return int整型#class Solution: def maxLength(self , arr ): # write code here longest,cur原创 2021-09-06 22:31:49 · 102 阅读 · 0 评论 -
牛课力扣---NC68 跳台阶
描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。# -*- coding:utf-8 -*-class Solution: def jumpFloor(self, number): # write code here if number == 1: return 1 if number == 2: return 2原创 2021-09-06 22:24:51 · 50 阅读 · 0 评论 -
牛课力扣---NC15 求二叉树的层序遍历
描述给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)例如:给定的二叉树是{3,9,20,#,#,15,7},该二叉树层序遍历的结果是[[3],[9,20],[15,7]]示例1输入:{1,2}复制返回值:[[1],[2]]示例2输入:{1,2,3,4,#,#,5}复制返回值:[[1],[2,3],[4,5]]# class TreeNode:# def __init__(self, x):# self.val原创 2021-09-06 22:18:56 · 78 阅读 · 0 评论 -
牛课力扣---NC105 二分查找-II
描述请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的第一个出现的target,如果目标值存在返回下标,否则返回 -1示例1输入:[1,2,4,4,5],4返回值:2说明:从左到右,查找到第1个为4的,下标为2,返回2输入:[1,2,4,4,5],3返回值:-1示例3输入:[1,1,1,1,1],1复制返回值:0## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返原创 2021-09-06 22:11:15 · 107 阅读 · 0 评论 -
牛课力扣---NC76 用两个栈实现队列
描述用两个栈来实现一个队列,分别完成在队列尾部插入整数(push)和在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。示例:输入:[“PSH1”,“PSH2”,“POP”,“POP”]返回:1,2解析:“PSH1”:代表将1插入队列尾部“PSH2”:代表将2插入队列尾部"POP“:代表删除一个元素,先进先出=>返回1"POP“:代表删除一个元素,先进先出=>返回2示例1:[“PSH1”,“PSH2”,“POP原创 2021-09-06 22:04:48 · 74 阅读 · 0 评论 -
牛课力扣---NC97 字符串出现次数的TopK问题
## return topK string# @param strings string字符串一维数组 strings# @param k int整型 the k# @return string字符串二维数组from collections import Counterclass Solution: def topKstrings(self , strings , k ): # write code here # #同方法2: ...原创 2021-09-05 22:45:31 · 137 阅读 · 0 评论 -
牛课力扣---NC53 删除链表的倒数第n个节点
思路1:快慢指针思路2:根据链表长度# class ListNode:# def __init__(self, x):# self.val = x# self.next = None## # @param head ListNode类 # @param n int整型 # @return ListNode类#class Solution: def removeNthFromEnd(self , head, n): ..原创 2021-08-30 20:58:31 · 112 阅读 · 0 评论 -
牛课力扣---NC7 买卖股票的最好时机
## # @param prices int整型一维数组 # @return int整型#class Solution: def maxProfit(self , prices ): # write code here length= len(prices) if length == 0: #r如果给定数组长度为0,可以直接返回结果0 return 0 min_prices = prices[.原创 2021-08-25 21:46:02 · 76 阅读 · 0 评论 -
牛课力扣---NC156 数组中只出现一次的数(其它数出现k次)
## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可## # @param arr int一维数组 # @param k int # @return int#class Solution: def foundOnceNumber(self , arr , k ): # write code here arr.sort() #重新排序 n = len(arr) #获取长度 for i in..原创 2021-08-25 21:43:31 · 86 阅读 · 0 评论 -
NC4 判断链表中是否有环
描述判断给定的链表中是否有环。如果有环则返回true,否则返回false。你能给出空间复杂度的解法么?输入分为2部分,第一部分为链表,第二部分代表是否有环,然后回组成head头结点传入到函数里面。-1代表无环,其他的数字代表有环,这些参数解释仅仅是为了方便读者自测调试实例1输入:{3,2,0,-4},1返回值:true说明:第一部分{3,2,0,-4}代表一个链表,第二部分的1表示,-4到位置1,即-4->2存在一个链接,组成传入的head为一个带环的链表 ,返回true原创 2021-08-18 21:31:44 · 49 阅读 · 0 评论 -
NC93 设计LRU缓存结构
描述设计LRU(最近最少使用)缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能set(key, value):将记录(key, value)插入该结构get(key):返回key对应的value值提示:1.某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的,然后都会刷新缓存。2.当缓存的大小超过K时,移除最不经常使用的记录。3.输入一个二维数组与K,二维数组每一维有2个或者3个数字,第1个数字为opt,第2,3个数字为key,value若opt=1原创 2021-08-17 22:02:37 · 232 阅读 · 0 评论 -
牛课力扣---NC78 反转链表
NC78 反转链表描述输入一个链表,反转链表后,输出新链表的表头。示例1输入:{1,2,3}返回值:{3,2,1}方法:双指针,python感悟:改变了指针方向,新的里面cur指向头节点,pre指向Null(None?)# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution:原创 2021-08-11 23:04:14 · 59 阅读 · 0 评论