
code的一些冷知识
Lawliet_ZMZ
ACMERandNODER
展开
-
涨姿势stl map['a']['a']=b;
#include "iostream"#include "stdlib.h"#include using namespace std;int main(){// map, char>mp;// mp[{'a','a'}]='a;// cout<<mp[{'a','a'}];// mp[make_pair('a','a')]='a';//原创 2016-10-10 22:53:23 · 544 阅读 · 0 评论 -
不引入第三变量交换两变量值的四种方法
不引入第三变量来交换变量值,其中最常用的就应该是位运算了:int a=10=1010,int b=12=1100,a=a^b;//1010^1100=0110b=a^b;//0110^1100=1010a=a^b;//0110^1010=1100;此算法能够实现是由异或运算的特点决定的,通过异或运算能够使数据中的某些位翻转,其他位不变,类似牌的的翻转,其实把a^b看做了一个原创 2016-12-14 10:29:26 · 3602 阅读 · 0 评论 -
double等浮点数比较问题,eps
ACM中的浮点数精度处理 在ACM中,精度问题非常常见。其中计算几何头疼的地方一般在于代码量大和精度问题,代码量问题只要平时注意积累模板一般就不成问题了。精度问题则不好说,有时候一个精度问题就可能成为一道题的瓶颈,让你debug半天都找不到错误出在哪。1.浮点数为啥会有精度问题:浮点数(以C/C++为准),一般用的较多的是float, double。转载 2017-03-23 21:37:40 · 7860 阅读 · 1 评论 -
【算法设计与数据结构】为何程序员喜欢将INF设置为0x3f3f3f3f?
出处:http://blog.youkuaiyun.com/jiange_zh/article/details/50198097在算法竞赛中,我们常常需要用到一个“无穷大”的值,对于我来说,大多数时间我会根据具体问题取一个99999999之类的数(显得很不专业啊!)在网上看别人代码的时候,经常会看到他们把INF设为0x7fffffff,奇怪为什么设一个这么奇怪的十六进制数,一查才知道,因为这是转载 2017-04-14 18:04:49 · 607 阅读 · 0 评论 -
淘宝前端团队的干货《论版本号的正确打开方式》
引用原文评论的一句话:条理清晰, 如此甚叼! 论版本号的正确打开方式作者: 法海 发表于: 2016-08-04版本号广泛运用于开发的各种场景:NPM 包的版本定义、对 NPM 包的特定版本的依赖指定、git 的 daily 版本号分支……面对如此多的场景,版本号的命名却存在很大问题。举些例子:开始写一个新项目 / 模块时,不管三七二十一,都从 0.转载 2017-11-23 17:08:27 · 647 阅读 · 0 评论 -
异或交换真的比开一个tmp快吗?
在以前学习Java的时候,leetcode上有几道位运算的题目,利用位运算的特性很好的解决。 之后有前辈老师在讲到异或^的时候,对我们说有不用开第三个变量tmp,来交换两个变量值的方法,说这种方法速度快,又节省了内存。受到之前leetcode题目和老师威信的影响下,我当然相信了,之后在写数据结构大作业的时候,又受到了学长异或交换两个值更快的提醒,然后特地把课程设计里面的算法涉及到交换的部原创 2017-11-23 17:11:19 · 1110 阅读 · 0 评论 -
([] + {}).length的结果是多少
最近加一个技术学习群,群的问题就是这个,很有意思。我当然直接在控制台里去打印看下结果了在sf里有人给了解释:([]).length --> 空数组的length是0({}).length --> {}是一个空对象,这个对象是没有length 方法的所以是undefined([] + {}).length --> 实际这两个是不能用操作符"+"的,这个原创 2017-11-24 00:46:59 · 2754 阅读 · 3 评论