自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 牛客-剑指offer系列题解:从上往下打印二叉树

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。2、数据结构:二叉树3、题解:BFS,设置一个辅助队列,每次取出队头,放进res中;然后放左子树,放右子树。# -*- coding:utf-8 -*-# class TreeNode:# def __in...

2020-04-30 23:20:33 152

原创 牛客-剑指offer系列题解:二叉树的镜像

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:操作给定的二叉树,将其变换为源二叉树的镜像。2、数据结构:二叉树3、题解:处理根节点,处理左子树,处理右子树。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# s...

2020-04-29 21:42:46 228

原创 牛客-剑指offer系列题解:树的子结构

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)2、数据结构:二叉树3、题解:先在A中递归,找与B相等的结点;当找到结点时,递归,判断B的左右子树是否相等。# -*- coding:utf-8 -*-# class TreeNo...

2020-04-29 21:05:59 147

原创 力扣的位运算之“只出现一次数字”小结:

推荐一个总结位运算的网址:http://graphics.stanford.edu/~seander/bithacks.html#OperationCounting1、只出现一次的数字题目描述:题解:记住一些结论:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/solution/...

2020-04-29 16:21:42 164

原创 深度学习之在用pytorch加载数据或者数据预处理遇到错误:ValueError: Unknown resampling filter

错误:ValueError: Unknown resampling filter (224). Use Image.NEAREST (0), Image.LANCZOS (1), Image.BILINEAR (2), Image.BICUBIC (3), Image.BOX (4) or Image.HAMMING (5)解决办法:变成:tf = transforms.Compose([...

2020-04-28 19:40:03 1429

原创 你想要的在这里!力扣的双指针法之搜索旋转排序数组总结

分别为33、81、153、154、面试题11(最后两题相同).1、搜索旋转排序数组题目描述:题解异或骚操作双指针法class Solution: def search(self, nums: List[int], target: int) -> int: low,high = 0,len(nums) -1 while low < h...

2020-04-28 16:56:22 153

原创 牛客-剑指offer系列题解:字符串的排列

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。2、数据结构:字符串3、题解:4、复杂度分析:时间复杂度:O(N)空间复杂度:O(1)...

2020-04-28 11:15:55 174

原创 美团面试题-输入一个值N,返回长度为N的数组array并满足一定要求

1、题目描述:2、题解:java:递归public class Code01_MakeNo { //生成长度为size的达标数组 //达标:对于任意的i<k<j,满足[i] + [j] != [k] * 2 public static int[] makeNo(int size) { if (size == 1) { return new int[] {1};...

2020-04-28 10:59:06 496

原创 牛客-剑指offer系列题解:重建二叉树

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。2、数据结构:二叉树3、题解:递归-...

2020-04-27 11:06:04 207

原创 力扣第186场周赛总结

这是第二次参赛,还是只AC了第一道题目。加油,其他题解参考了很多大神的写法。1、题目描述:分割字符串的最大得分https://leetcode-cn.com/problems/maximum-score-after-splitting-a-string/题解:暴力法:class Solution: def maxScore(self, s: str) -> int: ...

2020-04-26 16:59:30 217

原创 牛客-剑指offer系列题解:数组中只出现一次的数字

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。2、数据结构:位运算3、题解:位运算 和力扣260题一样力扣的136,137,645也是位运算,想练手位运算不妨做做https://leetcode-cn.com/proble...

2020-04-26 10:20:33 215

原创 牛客-剑指offer系列题解:删除链表的节点

记录刷题的过程。牛客和力扣中都有相关题目,此篇博客是力扣的题目描述。该系列默认采用python语言。1、问题描述:2、数据结构:链表3、题解:# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.n...

2020-04-25 23:19:49 165

原创 牛客-剑指offer系列题解:打印从1到最大的n位数

记录刷题的过程。牛客和力扣中都有相关题目,此篇博客是力扣的题目描述。该系列默认采用python语言。1、问题描述:2、数据结构:数组3、题解:class Solution: def printNumbers(self, n: int) -> List[int]: return list(range(1, 10**n))递归,转化为字符串去解class...

2020-04-25 23:14:46 206

原创 LeedCode第229题:求众数 II (摩尔投票法)

1、题目描述:2、数据结构:数组3、题解:摩尔投票法的变形(可参看牛客-剑指offer系列题解:数组中出现次数超过一半的数字)class Solution: def majorityElement(self, nums) : if not nums: return 0 n = len(nums) #初始化...

2020-04-25 21:22:23 188

原创 牛客-剑指offer系列题解:整数中1出现的次数(从1到n整数中1出现的次数)

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1...

2020-04-25 21:13:16 211

原创 牛客-剑指offer系列题解:数组中出现次数超过一半的数字(三种方法,推荐摩尔投票法)

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。2、数据结构:位运算3、题解:方法1:哈希表统计法设置一个字典...

2020-04-25 12:35:36 297

原创 牛客-剑指offer系列题解:不用加减乘除做加法

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。2、数据结构:位运算3、题解:# -*- coding:utf-8 -*-class Solution: def Add(self, num1, num2): # wri...

2020-04-24 22:43:45 155

原创 牛客-剑指offer系列题解:丑数II

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。2、数据结构:位运算3、题解:方法1:转化为字符串...

2020-04-24 20:33:09 133

原创 字节跳动2019春招研发部分编程题汇总(python版本)共7题

1、万万没想到之聪明的编辑题目描述:题解:双指针法按照题目要求的规则来编写程序,不要忘记处理输入和输出import sysn=int(input())#读第一行for i in range(n): #s = list(input()) s = list(sys.stdin.readline().strip())#读一行的字符串,转化为list k = 0 #...

2020-04-24 17:24:21 1157 2

原创 牛客网面试题输入输出的处理(python语言,包括readline()、strip()、split()的使用)

常见的输入类型:1、第一行表示将会有多少行数据,下面各个行有单个数据51 5 4 7 9 n = int(input())li = []for i in range(n):b = int(input())li.append(b)n = int(input())data = []for i in range(n): b = int(input()) data....

2020-04-24 11:15:48 2304

原创 牛客-剑指offer系列题解:二进制中1的个数

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)2、数据结构:位运算3、题解:方法1:转化为字符串# -*...

2020-04-24 00:08:42 206

原创 牛客-剑指offer系列题解:链表中环的入口结点

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。2、数据结构:链表3、题解:快慢指针先判断是否有环然后用慢指针,找环的入口# -*- coding:utf-8 -*-# class ListNode:# def __init__(...

2020-04-23 20:33:00 138

原创 牛客-剑指offer系列题解:把字符串转化成整数

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)2、数据结构:字符串3、题解:考虑多种情况,空串,负值,越界...

2020-04-23 18:33:30 125

原创 牛客-剑指offer系列题解:复杂链表的复制

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)2、数据结构:链表3、题解:方法1:DFS# -*- co...

2020-04-23 15:59:34 195

原创 牛客-剑指offer系列题解:孩子们的游戏(圆圈中最后剩下的数)

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)2、数据结构:数组、动态规划3、题解:4、复杂度分析:时间复杂度:O(N)空间复杂度:O(1)...

2020-04-23 11:04:24 203

原创 贪心 | 动态规划:LeedCode字节跳动企业面试题库之一---力扣121买股票的最佳时机

1、题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5...

2020-04-21 23:07:53 312

原创 LeedCode字节跳动企业面试题库之一:整数反转

可对比反转链表1、题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例2:输入: -123输出: -321示例3:输入: 120输出: 212、数据结构:数组3、题解:class Solution: def reverse(self, x: int) -> int: y...

2020-04-21 18:34:44 241

原创 LeedCode字节跳动企业面试题库之一:删除排序数组中的重复项

1、题目描述:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。...

2020-04-21 17:03:37 196

原创 双指针:牛客-剑指offer系列题解--两个链表的第一个公共结点

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)2、数据结构:链表3、题解:先找出一个链表1比链表2多出的K值,然后让链表1多走K,再循环比较大小# -*- coding:utf-8 -*-...

2020-04-20 11:59:00 233

原创 力扣第185场周赛总结——字节跳动专场

记录自己参加双周赛的历程,这次是首次参加,AC了第1道,其他三道题是赛后学习了大神们的写法。历届周赛或双周赛链接:https://leetcode-cn.com/contest/1、重新格式化字符串给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母。请你将该字符串重新格式化,使得任意两个相邻字符的类型都不同。也就是说,字母后面应该跟着数字,而数字后面应该跟着字母。请你返回 重新...

2020-04-19 19:08:46 501

原创 双指针法:牛客-剑指offer系列题解&LeedCode字节跳动企业面试题库之一---反转链表

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个链表,反转链表后,输出新链表的表头。2、数据结构:链表3、题解:方法1:双指针法反转需要两步 ,第一步找到它的 结点,第二步改变结点就可以了;之后需要 把结点 赋值为 这个元素的 本身 ;循环:找到 元素结点指向的元素,目标是 让元素结点指向的元素 改为 ...

2020-04-19 11:28:57 229

原创 牛客-剑指offer系列题解:链表中倒数第k个节点

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个链表,输出该链表中倒数第k个结点。2、数据结构:链表3、题解:快慢指针# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# ...

2020-04-18 09:32:15 180

原创 牛客-剑指offer系列题解&LeedCode字节跳动企业面试题库之一:合并两个排序的链表(字节跳动实习面试真题)

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。今天字节跳动面试,面试官出了该题,输入输出用C++语言已经写好,只要写算法部分就可以。1、问题描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。2、数据结构:链表3、题解:根据题目描述, 链表 l1​ , l2 是 递增 的,因此容易想到...

2020-04-17 22:11:10 282

原创 牛客-剑指offer系列题解:栈的压入、弹出序列

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个...

2020-04-17 12:39:40 197

原创 牛客-剑指offer系列题解:包含min的函数栈

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。2、数据结构:栈3、题解:用空间换时间,用时间换空间;增加空间来减少时间的消...

2020-04-16 22:36:13 136

原创 牛客-剑指offer系列题解:调整数组顺序使奇数位于偶数前面

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。2、数据结构:数组3、题解:方法一:#-*- coding:utf-8 -*-class Soluti...

2020-04-15 23:36:43 162

原创 牛客-剑指offer系列题解:旋转数组的最小数字

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。2...

2020-04-14 19:08:11 152

原创 牛客-剑指offer系列题解:对称的二叉树

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。1、问题描述:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。2、所用数据结构:3、题解:递归,镜像。画出一颗二叉树,把数据认为是一个镜像。如:[2,1,1,5,3,3,5]即是对称的。class Solution: ...

2020-04-14 15:58:00 192

原创 牛客-剑指offer系列题解:用两个栈实现队列(python语言)

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。问题描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。所用数据结构:队列和栈题解:栈:先入后出队列:先入先出...

2020-04-14 15:53:33 150

原创 牛客-剑指offer系列题解:从尾到头打印链表(python语言)

记录刷题的过程。牛客和力扣中都有相关题目,这里以牛客的题目描述为主。该系列默认采用python语言。问题描述:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。题解:用数组返回相反序列的链表...

2020-04-14 12:17:18 227

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除