首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
苏学算法
字节跳动_data_推荐算法工程师
获赞
341
粉丝
205
关注
3
看过 TA
211
男
门头沟学院
2021
算法工程师
IP属地:北京
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑苏学算法吗?
发布(344)
刷题
苏学算法
2021-03-30 20:02
已编辑
字节跳动_data_推荐算法工程师
异常检测算法汇总与代码实现
参考: 时间序列异常检测算法梳理. Unsupervised Anomaly Detection Novelty and Outlier Detection
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 20:01
字节跳动_data_推荐算法工程师
【常考排序算法】快速排序
1. 思路讲解 快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地排序两个子序列。 挑选基准值:从数列中挑出一个元素,称为“基准”(pivot), 分割:重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(与基准值相等的数可以到任何一边)。在这个分割结束之后,对基准值的排序就已经完成, 递归排序子序列:递归地将小于基准值元素的子序列和大于基准值元素的子序列排序。 递归到最底部的判断条件是数列的大小是零或一,此时该数列显然已经有序。 选取基准值有数种具体方法,此选取方法对排...
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 20:01
字节跳动_data_推荐算法工程师
【常考排序算法】堆排序
1. 思路 Heap特点: 是一颗完全二叉树 父节点 > 子节点 (左右子节点大小顺序随意) 堆排序流程: buildMaxHeap:把一个无序的数组,排成最大堆(即父节点总比子节点小),这个建堆的过程称之为 heapify。从最后一个非叶节点开始向前遍历,即从第 i = ( l a s t N o d e − 1 ) / / 2 = ( l e n ( a r r ) − 2 ) / / 2 i=(lastNode-1) // 2 = (len(arr) - 2) // 2 i=(lastNode−1)//2=(len(arr)−2)//2 (整除向下取整)个节点...
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 20:01
字节跳动_data_推荐算法工程师
【剑指 Offer】 40. 最小的k个数
相似题目: 【常考排序算法】堆排序. 【LeetCode】347. 前 K 个高频元素 (全手写). 【LeetCode】215. 数组中的第K个最大元素. 1.1 直接 sort()函数 但是面试这样写肯定不行。 补充 sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。 class Solution: def getL...
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 20:00
字节跳动_data_推荐算法工程师
【LeetCode】215. 数组中的第K个最大元素(高频!字节面试题)&变形(列表是单峰)
1. 题目描述 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 2. 思路 本题和 【剑指 Offer】 40. 最小的k个数. 相似 【求最大 top k 问题用最小堆,求最小 top k 问题用最大堆】 维护一个长度为 k k k 的小顶堆 随后从第 k + 1 k + 1 k+1 个数开始遍历,如果当前遍历到的数比大顶...
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 20:00
已编辑
字节跳动_data_推荐算法工程师
【LeetCode】231. 2的幂 ——判断一个数是不是2的整数次幂(两种方法)
1. 方法一:除法求余 用这个数来除以 2 ,得到商和余数,如果余数不为0,那这个数就不是2的整数次幂;否则再用商除以2,又得到商和余数,重复上面的操作,直到商为 1,当商为 1,余数为 0 时,这个数就是2的整数次幂。 def is2Power2(n): while(n > 1): if (n % 2 == 1): return False # n = n / 2 n = n >> 1 # 右移运算符,除以 2 return True 1. 方法二:位运算 2 的 n 次方的二进制只有最高位是1,其余为0,减1后最高...
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 20:00
字节跳动_data_推荐算法工程师
【LeetCode】136. 只出现一次的数字(异或运算秒杀)& 137. 只出现一次的数字 II
类似运算技巧的题目:判断一个数是不是2的整数次幂(两种方法). 136. 只出现一次的数字 1. 题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 2. 思路 第一时间想到的是 哈希表,但是哈希表需要 O(n) 的空间。要达到 O(1) 的空间,采样 异或运算 ^ 99 ^ 99 == 0 99 ^ 0 == 0 99 ^ 19 ...
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 19:59
字节跳动_data_推荐算法工程师
【LeetCode】347. 前 K 个高频元素 (纯手写)
相似题目: 【常考排序算法】堆排序. 【剑指 Offer】 40. 最小的k个数. 【LeetCode】215. 数组中的第K个最大元素. 1. 题目描述 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], k = 1 输出: [1] 提示: 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。 题目数据保证...
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 19:59
字节跳动_data_推荐算法工程师
【LeetCode】85. 最大矩形(困难)
待填
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 19:59
字节跳动_data_推荐算法工程师
【LeetCode】84. 柱状图中最大的矩形(单调栈)
1. 题目描述 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。 示例: 输入: [2,1,5,6,2,3] 输出: 10 2. 解题思路 其实可以把这个想象成锯木板,如果木板都是递增的那我很开心,如果突然遇到一块木板 i i i 矮了一截,那我就先找之前最戳出来的一块(其实就是第 i − 1 i-1 i−1块),计算一下这个木板单独...
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 19:58
已编辑
字节跳动_data_推荐算法工程师
【剑指 Offer】 15. 二进制中1的个数
1. 题目描述 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 1: 输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011 ***有三位为 ‘1’。 2. 代码 法一、python 库函数 class Solution: def hammingWeight(self, n: int) -> int: return b...
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 19:58
已编辑
字节跳动_data_推荐算法工程师
关于keras可视化pydot和GraphViz的解决方法
参考: https://zhuanlan.zhihu.com/p/32007274 评论区 pydot已经停止开发了,python3.5以上已经用不起来了。对策是: pip uninstall pydot pip install pydotplus 然后找到keras里面的utils\vis_utils.py,把里面的pydot的都替换成pydotplus。 ############################################### pip install pydotplus (不用安装pydot) 然后找到keras里面的utils\vis_utils....
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 19:58
已编辑
字节跳动_data_推荐算法工程师
Python matplotlib画图无法显示中文
支持中文显示有两种方法 法一、修改 matplotlib 安装包的配置文件 不建议这么操作 法二、在程序开头加上设置 from pylab import mpl mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 19:57
字节跳动_data_推荐算法工程师
【LeetCode】85. 最大矩形(hard)(21届华为提前批面试手撕代码题)
相似题目: 【LeetCode】84. 柱状图中最大的矩形(单调栈). 1. 题目描述: 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: 输入: [ [“1”,“0”,“1”,“0”,“0”], [“1”,“0”,“1”,“1”,“1”], [“1”,“1”,“1”,“1”,“1”], [“1”,“0”,“0”,“1”,“0”] ] 输出: 6 2. 解题思路 2.1 法一、单调栈 具体可参考【LeetCode】84. 柱状图中最大的矩形(单调栈) 这一题目,代码都相似 class Solution: def maxim...
0
点赞
评论
收藏
转发
苏学算法
2021-03-30 19:57
字节跳动_data_推荐算法工程师
拐点检测常用算法介绍(Ruptures)
拐点检测常用算法介绍 最近在学习拐点检测的相关问题, 发现 C.Truong 的论文 对拐点检测的整个流程和目前主流的一些算法介绍的比较清楚,所以在这里进行了一些记录以及总结,并且对 Truong 发布的 ruptures 库做了一些简单的介绍。如果想要进行更深入的研究,请参考原论文和 ruptures。 问题定义 拐点检测名为 change point detection,对于一条不平缓的时间序列曲线,认为存在一些时间点 ( t 1 , t 2 , . . . , t k ) ( t 1 , t 2 , . . . , t k ) ( t 1 , t 2 , . . . ...
0
点赞
评论
收藏
转发
1
3
4
5
6
7
23
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务