自定义博客皮肤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)
  • 收藏
  • 关注

原创 【刷体日记】双指针问题

leecode 680 回文串给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: “aba”输出: True示例 2:输入: “abca”输出: True解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字符串的最大长度是50000。思路判断回文 --> 双指针i,ji ,ji,j以"abdda"为例,当iii指向’b’,jjj指向’d’,此时不对,但是有一次删除的机会,那么子串范围为(i+1,ji+1, ji

2021-06-09 16:36:49 187 2

原创 【刷题日记】贪心算法

【刷题日记】贪心算法leetcode 455 分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。思路每个孩子只有一块饼干。饥饿度最小的孩子最容易满足,最节省饼干。为了尽

2021-04-29 17:13:01 205

原创 【快手】判断9*9数独的有效性

我觉得而有个关键点在于对数独的理解:数独有效不一定有解。所以有效的意义是:同一行只有1-9 且不重复同一列只有1-9且不重复同一个格子里只有1-9且不重复然后题目要通过的话python要小心一下输出。。。所以挨个检查就完事了def isValidSudoku(board): row = [set([]) for i in range(9)] # 9个set表...

2019-09-17 16:54:05 599

原创 【快手】str1转成str2的最小编辑距离(动态规划,leetcode72)

编辑距离参考Python如何计算编辑距离编辑方法包括:插入一个字符删除一个字符替换一个字符下面整理一下思路:简单情况:(1) 两个空字符串: 距离为0 if i ==0 and j ==0 : dp[i,[j] = 0(2) 一个空字符串:距离为非空字符串的长度: if i==0 or j ==0: dp[i][j]=i+j两个非空字符串:len(str1) = i, le...

2019-09-17 14:55:48 265

原创 【快手】反转句子单词顺序,不包括逗号

想要全通过有一点注意的地方:单词之间不一定只有一个空格句子最后的句号可能与最后一个单词有空格,也可能没有sentence = list(input().split())if sentence[-1] != '.': last_word = sentence.pop(-1) last_word = last_word[:len(last_word)-1] se...

2019-09-17 13:22:40 238

原创 【刷题日记】回文字符串

leetcode5 最长回文子串(连续)给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”官方题解:https://leetcode-cn.com/problems/longest-palindromic-su...

2019-09-12 18:38:21 109

原创 【刷题日记】leetcode128 最长连续序列

给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。思路:难点在于算法复杂度要求。复杂度嘛。一点一点降下来1. 最好想的暴力枚举将数组的每个元素作为序列起始(O(n)O(n)O(n)),逐个枚举下一个元素O(...

2019-09-09 14:53:06 111

原创 【刷题日记】leetcode1135 最低成本连通所有城市 python

leetcode原题描述为:地图上有 N 座城市,它们按以 1 到 N 的次序编号。可连接的选项 conections中每个选项 conections[i] = [city1, city2, cost] 表示将城市 city1 和城市 city2 连接所要的成本。(连接是双向的,也就是说城市 city1 和城市 city2 相连也同样意味着城市 city2 和城市 city1 相连)。返回使...

2019-09-07 21:37:08 1395

原创 【算法学习】数据结构——图(二):最小生成树MST与拓扑排序

一. 最小生成树最小生成树存在 等价于 图是连通的是一棵树无回路N个顶点有N-1条边生成树包含全部顶点N-1条边都在图里再加一条边就形成回路边的权重和最小算法:贪心算法贪:每一步都是最好的好:权重最小的边约束:只能用图里的边正好用掉N-1条边不能有回路1. Prim 算法从根开始,每次选当前树之外权重最小的边让树长大,直到把所有结点...

2019-09-07 17:44:21 347

原创 【算法学习】数据结构——图 (一)基础笔记

一. 概念不说了NNN:结点EEE:边2. 程序中的表示1. 邻接矩阵:G[N][N] ——N个定点从0-N-1编号G[i][j]={权if <vi,vj>是G的边0否则G[i][j]= \begin{cases}权 & \text{if <$v_i,v_j$>是$G$的边}\\0 &a...

2019-09-07 16:04:46 132

原创 【刷题日记】leetcode 两数/三数/四数之和+最接近的三数之和+较小的三数之和

leetcode1 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0...

2019-09-06 15:41:13 392

原创 【猿辅导】2019秋招算法岗的一些手撕代码(未完成)

数组1. 给一个数组,判断能否分成三部分,每部分的和相同O(N)O(N)O(N)复杂度def threePart(array): if not array or len(array)<3: return False data = array # 累加和 for i in range(1,len(array)): data[...

2019-09-05 22:58:32 572 1

原创 【刷题日记】不定期更新的leetcode字符串相关

leetcode1047-Easy 删除字符串重所有相邻重复项给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:“abbaca”输出:“ca”解释:例如,在 “abbaca” 中,我们可以删除 “bb” 由于两字母相邻且相...

2019-09-05 17:17:35 116

原创 【刷题日记】滑动窗相关的一些leetcode题目

部分内容和思路参考:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/solution/hua-dong-chuang-kou-by-powcai/题目1: leetcode 3 无重复字符的最长字串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。注: 最长字串是...

2019-09-05 00:56:57 281

原创 【携程】车辆分组

传说是leetcode86可以回头看一下看了一天滑动窗,感觉借鉴了滑动窗的思想,写了个笨笨的方法。也AC了s_list = list(input())from collections import defaultdictcount_dict = defaultdict(int)for item in s_list: count_dict[item]+=1group = [...

2019-09-04 21:20:57 343

原创 【携程】求ROC-AUC

ROC-AUC即求ROC曲线下的面积输入第一行:样本数N2——N+1行: 类别,预测值输出:ROC-AUC值,保留两位小数N = int(input())cls1 = []cls2 = []for i in range(N): cls, pred = list(map(float, input().split())) if int(cls) == 1: ...

2019-09-04 21:16:48 185

原创 【猿辅导】2019算法岗——角色扮演问题

题目:课堂上老师提供了一些角色,学生可以从中选择一个自己喜欢的角色,每3个不同的局色可以组成一个小组,进行分组对话当老师开始点击分组对话的按钮,服务器会为已经选择自己角色的同学分配对话小组。问 最多能组成多少个小组输入第一行:测试用例数目C(c<100)接下来每行一个测试用例用例的第一个数字表示可供选择的角色数量T(T<1000)接下来T个数字表示每个角色的选择人数Pi...

2019-08-26 11:23:24 473

原创 【猿辅导】2019年算法岗——报数问题

题目:老师让学生报自己的学号,每报一次可以获得一个礼物,但是报数超过一定次数的学生不能获得礼物。请整理聊天区报数数列。当发现某个数大于m次是,认为报数过多,我们需要得到去除这些学生煲熟后的报数数列输入:第一行:两个数,学生报数总个数n,允许最大重复次数m第二行:n个整数,代表报数数列输出一行:去除超过m次的报数数列,不改变报数顺序。空格分隔N,m = list(map(...

2019-08-26 11:17:30 425

原创 【刷题日记】leetcode91——Decode ways

2019 B站校招算法笔试编程题大意是A-Z使用1-26编码,那么输入一个数,求该编码可能表示多少种字符串思路这是一个非常类似于青蛙跳台阶,一次可以跳一级或者两级,N个台阶有多少种跳法的问题但是这里限制了编码范围是1-26对于一个输入字符串边界1:s[0] 不能为0.,否则这个问题规模就不用在扩大了,直接返回0接下来创建问题规模的动态规划备忘录:问题规模的递推:假设已...

2019-08-21 00:45:11 115

原创 【刷题日记】leetcode——Minimum Depth andMaximum Depth of Binary Tree

题号104.Maximum Depth of Binary Tree这个其实就是求树的深度,写一个递归就好了# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# ...

2019-08-17 22:50:09 105

原创 【刷题日记】leetcode2——Add Two Numbers

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return i...

2019-08-17 22:29:52 144

原创 【刷题日记】树的那些事儿(二)——花式递归

热身递归求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)思路不让乘除咋搞。。。自己调算自己吧。。。def sumThem(n): if n ==0 or n==1: return n return n+sumThem(n-1)树的镜像题目描述操作给定的二叉树,将其变换为源二叉树的镜像。...

2019-08-16 00:07:30 126

转载 【资源】Tensorflow多GPU编程

显存管理https://blog.csdn.net/liulina603/article/details/80180355示例代码解析https://blog.csdn.net/u014636245/article/details/84147581

2019-08-14 22:55:36 96

原创 【PDD】找出方差最小的三个数,输出方差

输入第一行: N第二行:N个数输出N = int(input())numbers = list(map(int,input().split()))numbers = sorted(numbers)var = 100000**2for i in range(N-2): avg = (numbers[i]+numbers[i+1]+numbers[i+2])/3 v...

2019-08-11 19:24:21 424

原创 【贝壳找房】丢失的卡片

题目大概:有一叠 编号为1~N的卡片。吹落了一张。输入剩余N-1张卡编号中0~9出现的次数。(次数不大于300)输出卡片数目N和吹落卡片的编号。如果吹落卡片的解不唯一,从小到大排输入样例:2 12 9 3 3 3 3 2 2 2输出样例:26 1226 21晚上又写了一段代码。基本思路是:0. check了0-9出现次数不大于300的最大的数是999.从n=1...

2019-08-11 01:40:15 572

原创 【刷题日记】和为s的连续正数序列 & 和为s的两个数字

题目描述: 和为s的连续正数序列小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所...

2019-08-09 00:16:55 100

原创 【刷题日记】连续子数组的最大和 & 数组的最长递增子序列

题目:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的...

2019-08-08 00:09:24 188

原创 【刷题日记】调整数组顺序使奇数位于偶数前面

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路一:设置一个list,逐个存储数组的奇数。然后把剩余偶数接在后面思路二:python大法好# -*- coding:utf-8 -*-class Solution: def reOrderArray...

2019-08-07 23:41:09 80

原创 【刷题日记】斐波那契大礼包系列

题目1 . 基本斐波那契大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39f(0)=0f(0) = 0f(0)=0f(1)=1f(1) = 1f(1)=1f(n)=f(n−1)+f(n)f(n) = f(n-1)+f(n)f(n)=f(n−1)+f(n)递归不写了。随便写个非递归class Solution: ...

2019-08-07 22:23:52 72

原创 【刷题日记】数组排成最小的数

输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路:看起来是个数组题,其实是个字符题。遍历数组元素两两组合,分析他们谁在前面最后形成的数更大,该交换交换,该保持原位保持原位。数组元素的组合是”拼接”。那么转换成字符串更方便操作。# -*- coding:ut...

2019-08-07 20:08:11 79

原创 【刷题日记】字符串/ 流中第一个不重复的字符&第一个重复的数字 &只出现一次的数字

题目1:第一个只出现一次的字符的位置在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).# -*- coding:utf-8 -*-class Solution: def FirstNotRepeatingChar(self, s): # 字符串空返回-1 ...

2019-08-07 01:52:54 222

原创 不定期更新的python基础知识

Python的一些字典操作创建字典:a_dict ={}a_dict =dict()a_dict = {'key':value, 'key2': value...}按键访问:类似于数组a_dict['key']删除键del a_dict['key']检查有没有这个键key_check:if key_check in a_dict:if a_dict.has_key(key_...

2019-08-07 01:19:29 91

原创 不定期更新的零碎知识 /错题

Python编译器在对Python源码进行编译的时候,对代码中的一个Code Block,会创建一个PyCodeObject对象与这段代码对应。Python中确定Code Block的规则:当进入一个新的名字空间或作用域时,就算进入了一个新的Code Block了。即:一个名字空间对应一个Code Block,它会对应一个PyCodeObject。现在暂且认为名字空间就是符号的上下文环境,...

2019-08-04 23:50:17 97

原创 【刷题日记】网易——牛牛的背包问题

牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。牛牛想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法(总体积为0也算一种放法)。输入描述:输入包括两行第一行为两个正整数n和w(1 <= n <= 30, 1 <= w <= 2 * 10^9),表示零食的数量和...

2019-08-03 11:42:12 325

原创 【刷题日记】网易——牛牛的闹钟

牛牛总是睡过头,所以他定了很多闹钟,只有在闹钟响的时候他才会醒过来并且决定起不起床。从他起床算起他需要X分钟到达教室,上课时间为当天的A时B分,请问他最晚可以什么时间起床输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含一个正整数,表示闹钟的数量N(N<=100)。接下来的N行每行包含两个整数,表示这个闹钟响起的时间为Hi(0<=A<24)时Mi(0<=...

2019-08-02 22:14:08 111

原创 【刷题日记】网易——瞌睡

题目:瞌睡小易觉得高数课太无聊了,决定睡觉。不过他对课上的一些内容挺感兴趣,所以希望你在老师讲到有趣的部分的时候叫醒他一下。你知道了小易对一堂课每分钟知识点的感兴趣程度,并以分数量化,以及他在这堂课上每分钟是否会睡着,你可以叫醒他一次,这会使得他在接下来的k分钟内保持清醒。你需要选择一种方案最大化小易这堂课听到的知识点分值。输入描述:第一行 n, k (1 <= n, k <=...

2019-08-02 19:05:44 153

原创 【刷题日记】网易——丰收

题目:丰收又到了丰收的季节,恰逢小易去牛牛的果园里游玩。牛牛常说他对整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属于哪一堆的。牛牛觉得这个问题太简单,所以希望你来替他回答。输入描述:第一行一个数n(1 <= n <= 105)。第二行n个数ai(1 <= ai <=...

2019-08-02 19:04:49 132

原创 【刷题日记】网易——俄罗斯方块

小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块。因为它比较古老,所以规则和一般的俄罗斯方块不同。荧幕上一共有 n 列,每次都会有一个 1 x 1 的方块随机落下,在同一列中,后落下的方块会叠在先前的方块之上,当一整行方块都被占满时,这一行会被消去,并得到1分。有一天,小易又开了一局游戏,当玩到第 m 个方块落下时他觉得太无聊就关掉了,小易希望你告诉他这局游戏他获得的分数。输入描述:...

2019-08-02 14:12:01 128

原创 【刷题日记】不会输入,笔试白搭

写剑指offer的日子里,幸福的爆炸,完全不用考虑处理输入输出,然而一到公司笔试,连输入都不会,算法岂不是干瞪眼。输入处理千千万,简单粗暴最有效。一般笔试题逐行处理单行输入的情况比较多(输入数据流什么的以后再议)最简单粗暴的处理方式如下import sys # 导入sys模块# split是分割函数,将字符串分割成“字符”,保存在一个列表中。默认是空格分割,也可以自定义分隔符和分割次数...

2019-08-02 14:07:33 354 1

原创 【刷题日记】剑指offer——旋转数组的最小数字

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路这是一个查找问题查找问题一般可以通过顺序查找和二分查找二分查找主要适用于有序(顺序有序)的数组但是同时...

2019-08-02 11:44:27 101

空空如也

空空如也

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

TA关注的人

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