
算法
DarrenXf
这个作者很懒,什么都没留下…
展开
-
安装 torchvision
安装torchvisionpip install torchvisionpython3 use pip3pip3 install torchvisionchange originpip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade torchvision原创 2021-09-04 16:34:21 · 2935 阅读 · 0 评论 -
找出缺失的整数 牛客网 程序员面试金典
牛客网程序员面试经典找出缺失的整数数组A包含了0到n的所有整数,但其中缺失了一个。对于这个问题,我们设定限制,使得一次操作无法取得数组number里某个整数的完整内容。唯一的可用操作是询问数组中第i个元素的二进制的第j位(最低位为第0位),该操作的时间复杂度为常数,请设计算法,在O(n)的时间内找到这个数。给定一个数组number,即所有剩下的数按从小到大排列的二进制各位的值,如A...原创 2018-08-03 23:40:38 · 261 阅读 · 0 评论 -
上楼梯 牛客网 程序员面试金典 动态规划
上楼梯 牛客网 程序员面试经典 动态规划 题目描述有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶、2阶、3阶。请实现一个方法,计算小孩有多少种上楼的方式。为了防止溢出,请将结果Mod 1000000007给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。测试样例:1返回:1C++ 代码class GoUpstai...原创 2018-08-04 00:03:05 · 463 阅读 · 0 评论 -
不用加减乘除做加法 牛客网 剑指Offer
牛客网 剑指Offer题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。class Solution: def Add(self, num1, num2): while num2 != 0: temp = num1 ^ num2 num2 = (num1 & num2)...原创 2018-09-07 13:25:13 · 230 阅读 · 0 评论 -
丑数 牛客网 剑指Offer
牛客网 剑指Offer题目描述 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。class Solution: #run:26ms memory:5728k def GetUglyNumber_Solution(self, index):...原创 2018-09-07 13:27:36 · 193 阅读 · 0 评论 -
两个链表的第一个公共结点 牛客网 剑指Offer
牛客网 剑指Offer题目描述 输入两个链表,找出它们的第一个公共结点。 # class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def FindFirstCommonNode(self, pHead1, p...原创 2018-09-07 13:34:22 · 238 阅读 · 0 评论 -
二叉搜索树与双向链表 牛客网 剑指Offer
牛客网 剑指Offer题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Non...原创 2018-09-07 13:36:46 · 244 阅读 · 0 评论 -
二叉搜索树的后序遍历序列 牛客网 剑指Offer
牛客网 剑指Offer题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。class Solution: #run:22ms memory:5852k def VerifySquenceOfBST(self,sequence): if sequence == [...原创 2018-09-07 13:39:21 · 142 阅读 · 0 评论 -
二叉搜索树的第K个结点 牛客网 剑指Offer
牛客网 剑指Offer题目描述 给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.righ...原创 2018-09-07 13:41:32 · 267 阅读 · 0 评论 -
二叉树中和为某一值的路径 牛客网 剑指Offer
牛客网 剑指Offer题目描述 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)# class TreeNode:# def __init__(self, x):# self.val = x# ...原创 2018-09-07 14:14:49 · 247 阅读 · 0 评论 -
二叉树的下一个结点 牛客网 剑指Offer
牛客网 剑指Offer题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。# class TreeLinkNode:# def __init__(self, x):# self.val = x# self.left = None# s...原创 2018-09-07 14:17:05 · 232 阅读 · 0 评论 -
二叉树的深度 牛客网 剑指Offer
牛客网 剑指Offer题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right =...原创 2018-09-07 14:19:06 · 192 阅读 · 0 评论 -
二叉树的镜像 牛客网 剑指Offer
牛客网 剑指Offer 二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义: 源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 ...原创 2018-09-07 14:21:45 · 219 阅读 · 0 评论 -
二维数组中的查找 牛客网 剑指Offer
二维数组中的查找 牛客网 剑指Offer 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution: #run:330ms memory:5740k def Find(self, target, ...原创 2018-09-08 22:42:53 · 234 阅读 · 0 评论 -
二进制中1的个数 牛客网 剑指Offer
二进制中1的个数 牛客网 剑指Offer题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。class Solution: def NumberOf1(self, n): return sum([(n>>i & 1) for i in range(0,32)]) ...原创 2018-09-08 22:43:07 · 205 阅读 · 0 评论 -
从上往下打印二叉树 牛客网 剑指Offer
从上往下打印二叉树 牛客网 剑指Offer题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: ...原创 2018-09-08 22:43:18 · 380 阅读 · 0 评论 -
从头到尾打印链表 牛客网 剑指Offer
从头到尾打印链表 牛客网 剑指Offer题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: #run:35ms memory:586...原创 2018-09-08 22:43:30 · 252 阅读 · 0 评论 -
删除链表中重复的结点 牛客网 剑指Offer
删除链表中重复的结点 牛客网 剑指Offer题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5# class ListNode:# def __init__(self, x):# s...原创 2018-09-08 22:43:39 · 432 阅读 · 0 评论 -
包含min函数的栈 牛客网 剑指Offer
包含min函数的栈 牛客网 剑指Offer题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。class Solution: def __init__(self): self.stack = [] self.minStack = [] def push(self,...原创 2018-09-08 22:43:49 · 236 阅读 · 0 评论 -
反转链表 牛客网 剑指Offer
反转链表 牛客网 剑指Offer 题目描述 输入一个链表,反转链表后,输出新链表的表头。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: #run:21ms...原创 2018-09-08 22:43:59 · 286 阅读 · 0 评论 -
变态跳台阶 牛客网 剑指Offer
变态跳台阶 牛客网 剑指Offer题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。class Solution: def jumpFloorII(self, number): return 2**(number - 1) def jumpFloorII2(self, numb...原创 2018-09-08 22:44:08 · 202 阅读 · 0 评论 -
合并两个排序的链表 牛客网 剑指Offer
合并两个排序的链表 牛客网 剑指Offer题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: #run:2...原创 2018-09-08 22:44:18 · 169 阅读 · 0 评论 -
和为S的两个数 牛客网 剑指Offer
和为S的两个数 牛客网 剑指Offer题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出class Solution: #run:32ms memory:5728k def FindNumbersWithSum(self,arr...原创 2018-09-09 15:58:52 · 173 阅读 · 0 评论 -
和为S的连续正数序列 牛客网 剑指Offer
和为S的连续正数序列 牛客网 剑指Offer题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luc...原创 2018-09-09 15:59:05 · 317 阅读 · 0 评论 -
复杂链表的复制 牛客网 剑指Offer
复杂链表的复制 牛客网 剑指Offer题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)# class RandomListNode:# def __init__(self, x):# s...原创 2018-09-09 15:59:16 · 351 阅读 · 0 评论 -
字符串的排序 牛客网 剑指Offer
字符串的排序 牛客网 剑指Offer题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。class Solution: #run:36ms memory:5696...原创 2018-09-09 15:59:25 · 413 阅读 · 0 评论 -
字符流中第一个不重复的字符 牛客网 剑指Offer
字符流中第一个不重复的字符 牛客网 剑指Offer题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符。class Solution: def _...原创 2018-09-09 15:59:33 · 295 阅读 · 0 评论 -
孩子们的游戏(最后剩下的数) 牛客网 剑指Offer
孩子们的游戏(最后剩下的数) 牛客网 剑指Offer题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一...原创 2018-09-09 15:59:40 · 364 阅读 · 0 评论 -
对称的二叉树 牛客网 剑指Offer
对称的二叉树 牛客网 剑指Offer题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right...原创 2018-09-09 15:59:48 · 239 阅读 · 0 评论 -
左旋转字符串 牛客网 剑指Offer
左旋转字符串 牛客网 剑指Offer题目描述 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它class Solution: #run:25m...原创 2018-09-09 15:59:58 · 272 阅读 · 0 评论 -
平衡二叉树 牛客网 剑指Offer
平衡二叉树 牛客网 剑指Offer题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def T...原创 2018-09-09 16:00:05 · 303 阅读 · 0 评论 -
序列化二叉树 牛客网 剑指Offer
序列化二叉树 牛客网 剑指Offer题目描述 请实现两个函数,分别用来序列化和反序列化二叉树# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def ...原创 2018-09-09 16:00:14 · 304 阅读 · 0 评论 -
扑克牌顺子 牛客网 剑指Offer
扑克牌顺子 牛客网 剑指Offer题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字...原创 2018-09-10 15:15:30 · 270 阅读 · 0 评论 -
把二叉树打印成多行 牛客网 剑指Offer
把二叉树打印成多行 牛客网 剑指Offer 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solu...原创 2018-09-10 15:15:55 · 223 阅读 · 0 评论 -
把字符串转换成整数 牛客网 剑指Offer
把字符串转换成整数 牛客网 剑指Offer题目描述 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 示例...原创 2018-09-10 15:16:06 · 261 阅读 · 0 评论 -
把数组排成最小的数 牛客网 剑指Offer
把数组排成最小的数 牛客网 剑指Offer题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。from functools import cmp_to_keyclass Solution: def PrintMinNumber(self, num...原创 2018-09-10 15:16:16 · 207 阅读 · 0 评论 -
按之字形顺序打印二叉树 牛客网 剑指Offer
按之字形顺序打印二叉树 牛客网 剑指Offer 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。# class TreeNode:# def __init__(self, x):# self.val = x# self.left = ...原创 2018-09-10 15:16:28 · 296 阅读 · 0 评论 -
数值的整数次方 牛客网 剑指Offer
数值的整数次方 牛客网 剑指Offer题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方class Solution: #run:23ms memory:5728k def Power(self, base, exponent): flag = 0 if base == ...原创 2018-09-10 15:16:41 · 209 阅读 · 0 评论 -
数字在排序数组中出现的次数 牛客网 剑指Offer
数字在排序数组中出现的次数 牛客网 剑指Offer题目描述 统计一个数字在排序数组中出现的次数。class Solution: def GetNumberOfK(self, data, k): if data == None or data == []: return 0 if len(data) == 1 and k!=d...原创 2018-09-10 15:16:50 · 182 阅读 · 0 评论 -
数据流中的中位数 牛客网 剑指Offer
数据流中的中位数 牛客网 剑指Offer题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数class Solution: def __init...原创 2018-09-10 15:16:59 · 209 阅读 · 0 评论