- 博客(13)
- 收藏
- 关注
原创 Mac 系统下python中文绘图
Mac 系统下Python绘图乱码 问题:博主在使用了Mac系统之后,发现使用Matplotlib绘图的时候,使用中文设计titile or label的时候,最终图形上并没有展现,博主查看了很多解决方案,最终找到了解决方案。 打开Terminal,输入以下代码: open /Users/zbf/.matplotlib 打开的文件夹下有名称为fontlist-v330.json这样的文件,打开该文件可以查看所有Mac系统下的字体以及所对应的名称。 博主设置的中文宋体,英文Times new roman
2021-06-16 16:50:35
840
原创 leetcode 477 汉明距离综合
leetcode 477 汉明距离综合 两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。 计算一个数组中,任意两个数之间汉明距离的总和。 输入: 4, 14, 2 输出: 6 解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系) 所以答案为: HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6. 思路
2021-05-28 12:50:39
247
原创 运筹学--整数规划2
整数规划 之前介绍到了有关整数规划的常见的算法:分支定界和割平面,这次想要总结以下的是其他的相关方法。 列生成 列生成算法是在单纯形法的基础上提出的,单纯形法之前介绍的是求解线性优化命题所用的,但是针对大规模的优化命题来说,即变量数爆炸性增长的命题,所对应的约束可能并没有那么多,如果采用单纯形法求解,直接的问题就是计算量很大,尤其是基变量可能很少,但是所对应的非基变量很多。在进行出基入基的操作过程中,带来了很多的计算难度,在这个问题上,提出了列生成算法。 思路 列生成算法的思路主要就是采用小规模的优化命
2021-04-24 16:42:01
686
原创 运筹优化算法实习生面经
运筹优化算法实习生面经 上篇blog介绍了运筹优化算法实习生岗位的相关公司,这篇博主根据自己个人的面试经历去介绍各个公司的特点,希望看到的同学能够有针对性的去做准备。 阿里巴巴 阿里巴巴是相对来说运筹优化岗位较多的公司,因此hc也相对较多。 正常来说,找实习的时间其实开始于寒假结束后,其实很多公司过完年之后就开始了。对于阿里来说,系统开放较晚,因此一般在系统开放之前很多BU就开始了提前批的面试,此时,实习生的简历是不会进入系统,因此推荐大家可以在这个时间段和各个BU的前辈去进行沟通面试,多给自己一些机会
2021-04-18 10:12:18
4189
4
原创 面经分享
运筹优化算法实习面经 博主本身不是管理科学 or 物流工程这类型专业出身,希望一些非运筹优化相关专业的同学想要面该岗位的可以参考。 博主本身是本硕C9,硕士期间做的一些工作偏优化方向,因此也希望实习以及后面工作能够找相对应的岗位。 哪些公司有该岗位 大家可以参考一些做物流、快递等相关的公司,下边会列举一些,大家可以参考 阿里(阿里云、菜鸟、CTO线、蚂蚁等),阿里很多BU都会有这样的岗位,可以选择的很多,但是阿里的流程会相对较慢,所以投的时候要稍微慎重一点做选择。 美团,美团这边主要是一些外卖业务上有需求
2021-04-16 14:15:00
397
原创 运筹学--整数规划
整数规划 对比线性规划是连续变量的线性优化问题,整数规划其实就是整数变量的优化问题,研究比较多的是纯整数线性规划或者混合整数线性规划(MILP),区别于线性规划,整数规划强调的是决策变量的取值必须是整数。解线性规划的方法不能保证求出的解满足整数条件,因此引出来求解整数规划的对应方法,比较常见的是分支定界与割平面法。另外一些方法先留一下,随后再总结。 分支定界法 分支定界:Branch and bound 从方法命名上其实就能看出一些问题,核心的点就是两个:分支、定界。 方法的思路:假设一个整数规划的
2021-03-14 15:51:14
2213
原创 运筹学--单纯形法的进一步讨论
单纯形法的进一步讨论 单纯形法就是为了解线性规划。 一般情况下,当最终求出的解中不包含人工变量,说明有最优解; 如果在最终的单纯形表中非基变量的检验数已经满足了要求,但是基变量中含有非零的人工变量,则说明问题无可行解。 上述讲的其实是有无可行解的判别规则,另一种情况是出现退化解。 退化 在决定换出变量的时候,利用θ\thetaθ规则进行判断,但是如果同时出现了多个相同的最小θ\thetaθ值,在进行入基出基的迭代中,会出现有一个或者几个基变量等于0,这样就出现了退化解。 解决方法: 摄动法 字典序法
2021-03-14 13:14:21
3525
原创 leetcode 706 设计哈希映射
每日一题 leetcode 706 设计哈希映射 不使用任何内建的哈希表库设计一个哈希映射(HashMap)。 实现 MyHashMap 类: MyHashMap() 用空映射初始化对象 void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经存在于映射中,则更新其对应的值 value int get(int key) 返回特定的 key 所映射的 value ;如果映射中不包含 key 的映射,返回 -1 void rem
2021-03-14 12:49:55
211
原创 leetcode 41 缺失的第一个整数
leetcode41 缺失的第一个整数 题目: 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 进阶:你可以实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案吗? 思路 其实想要求解此题目并不难,最简单的就是遍历1-len(nums)判断每个数是否在数组中 class Solution: def firstMissingPositive(self, nums: List[int]) -> int: i = 1 ...
2021-03-13 22:04:03
116
原创 运筹学--线性规划
线性规划的定义 线性规划可以从以下特征进行判断 决策变量一般为非负且连续 约束条件是一组线性等式或者线性不等式 目标函数由决策变量与常系数组合成的表达式 满足上述条件可以判定为是一个线性约束问题。 求解线性规划问题的常用方法一般是图解法和单纯形法,图解法一般适用于低维问题,单纯性法则更加常规,应用更加广泛。 图解法:构建坐标系,将约束条件绘制在坐标系中;寻找目标函数的等值线,通过等值线的移动寻找最优解。 单纯形法:手工利用单纯形法求解问题时基本都是通过单纯性表进行求解,因此先通过例子来说明一下单纯形法
2021-03-13 21:22:15
3252
原创 运筹学--介绍
介绍 由于最近开始找工作了,博主还是希望找运筹优化相关的岗位,最近总结一些已经看过的相关资料。 什么是运筹学 简单来说,运筹学就是希望能够找到决策的最优解 步骤 提出问题:其实就是想要做什么 建模型:模型其实包括的就是可控变量、参数、目标、约束 求解:比较多的利用数学方法进行模型求解 检验:判断得到的解是最优解、次优解、满意解 模型的一般形式 模型一般包括三要素:决策变量、约束、目标函数 一般命题的表达形式: maxF(x)s.t.G(x)≥0x≥0\begin{aligned} &m
2021-03-13 19:14:10
981
1
原创 leetcode31 下一个排列
题目: 实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须 原地 修改,只允许使用额外常数空间。 字典序:下一个最大的组合值,比如132的下一个最大值就是213 思路: 从后往前找出第一个逆序对[i,j] 在j->end中比i大的值中最小的值进行交换 排序j->end class Solution(object): def nextPermutation(self,
2021-03-12 20:27:50
97
原创 leetcode 30 串联所有的字符串
leetcode 30 串联所有的字符串 题目: 给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。 值得注意的点: words中每个字符的长度是相同的 方法: 滑动窗口的方法判断与words整体长度相同的每个s的子串是否与words相同。 滑动窗口遍历整个字符串 对每个字符串进行分解,判断是否与words相同,此处引入了
2021-03-12 19:39:23
242
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅