Tag: 程序设计

ACM题解系列之 – 最小堆栈 (Min Stack)

没事刷刷题能防止老年痴呆, 而且也能让你随时处于最佳状态, 随时都可以炒老板鱿鱼另谋高就. 题目: 设计一个堆栈(Stack)使 push, pop, 和取最小 min 操作时间复杂度都是 O(1). 这题的难点就是在于怎么样用O(1)常数时间复杂度来取得堆栈里的最小值. class MinStack { public: MinStack() { // write your code here } /* * @param number: An …

Discord 虚拟货币查询机器人上线了! (内含 cnsteem discord 频道)

Discord 是一个类似 Slack 的一体化的聊天软件, 功能强大, 可定制性超强, 在国外用得比较多. 我们中文区有属于自己的 discord 频道, 通过链接: https://discord.gg/7ctT3Xt 即可加入. 和公众号一样, 我稍微改了一下, 把虚拟货币的查询功能集成到了 discord 机器人 cryptocurrency 上, 通过以下链接即可拉到任意 discord 群. https://discordapp.com/api/oauth2/authorize?client_id=417847038697406467&permissions=522304&scope=bot 授权后, 机器人就在线上了. 可以私聊机器人, 也可以在任何一个频道里. 还可以定量计算(虚拟货币-法币, …

[坑爹的代码] – 变量未使用

工作中代码审核是非常重要的, 我觉得有时候分享这些坑是件很有意义的事情. 有一次, 有一个PR(代码提交)被2个工程师成功审核了, 但是之后发现那个PR带了一些不该带的改动,结果就是那两个评审被惩罚带些吃的(甜甜圈)给大家分享. 每次你都很小心, 生怕把功能给改错了(即使有少量的单元测试,但是你还是不放心), 后来你发现,这代码绝B是个坑,浪费了你大好的时间,结果这变量声明了根本就没有用到.. 很奇怪的是, 像 Resharper这样的代码质量工具竟然没有把无用的代码给标灰… 英文: – Value Not Used 本文一共 195 个汉字, 你数一下对不对. – 变量未使用. (AMP 移动加速版本) 赞赏我的几个理由. ¥ 打赏支持 扫描二维码,分享本文到微信朋友圈

软件工程师面试技巧之 使用哈希表降复杂度

最近在刷题,倒不是为了找工作,主要是为了练练脑子,日子过得太舒服,人脑不动容易变笨. 程序员应该都了解并能熟悉使用 Hash 哈希表,哈希表的插入和查找时间复杂度是O(1), 空间复杂度是O(N).我们来看一道简单的面试题: 给定一个数组,找出相差为2的数对,比如: {1, 3, 5, 6, 9} 输出为: (1, 3), (3, 5) 拿到这题的时候 第一感觉是 暴力是否可行? 暴力搜索 复杂度为 O(N2), 大概代码如下: for i = 0 to len …

通过例子学写 PHP单元测试来确保API功能正常

在昨天我们说到可以通过调用这个API来检查你的哪些Steem粉丝没有点赞你的文章, 那我们怎么确保这个API的功能是正常能用的呢? 万一服务器挂掉了又或者之后更新代码不小心改错了. 这些都是可以通过单元测试来确保功能可以用的并且以前能用的功能和行为并没有发生改变. 特别是我提供了四台API服务器: 美国东部, 美国西部, 日本东京和英国伦敦, 那我需要每天定时跑些测试来确保API一切正常. 可以通过 Crontab 每天定时跑, 一旦有错误就发邮件提醒或者记录到事件中. PHP是世界上最好的语言, 通过phpunit 测试API的调用, 首先, 你需要安装 phpunit (官网安装说明), 安装完后可以运行以下命令来确认: $ which phpunit /usr/local/bin/phpunit 然后我们可以开始写一个简单的 PHP单元测试, 代码如下: <?php …

如何快速的判断整数能否被11整除?

1位数除0之外不能被11整除, 2位数的话 除了 11, 22, 33 .. 99 之外不能被11整除. 3位数的话 121, 132 .. 可以把个位数和百位数相加 然后减去十位数 如果为0就能被整除, 比如 176 能被11整除因为 1+6-7=0. 4位数以上就比较麻烦了, 不过有更为简便的方法. 假设 整数为 那么只要 那么这个整数就能被11整除. 比如 3619 这个整数 …

免费好用的 二维码 图片 API

有没有注意到文章的后面有一个 “扫描二维码,分享本文到微信朋友圈” 的QR二维码. 这是调用 Google API 但是问题就是GOOGLE服务器在国内访问不稳定 有时候被墙. 我们可以通过服务器来获取并缓存QR二维码: 把下面PHP代码存成 https://justyy.com/qr/index.php 然后并创建一个目录 cache 用于存储获取到的QR二维图片. $chs = "250x250"; // 默认 QR图片大小 $chl = ""; if (isset($_GET)) { $chs = trim($_GET); …