问题描述
给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。
输入格式
输入的第一行包含一个整数n,表示给定整数的个数。
第二行包含所给定的n个整数。
第二行包含所给定的n个整数。
输出格式
输出一个整数,表示值正好相差1的数对的个数。
样例输入
6
10 2 6 3 7 8
10 2 6 3 7 8
样例输出
3
样例说明
值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。
评测用例规模与约定
1<=n<=1000,给定的整数为不超过10000的非负整数。
这个题,我真是个傻子感觉自己,那么明显的大小比较题,即使没有思路也可以用笨方法遍历然后结果除以2…………数学不好呀嘤嘤嘤……
感觉这个题老师的问题分析写的很好,先甩链接:http://blog.youkuaiyun.com/tigerisland45/article/details/54755804
先手动操作一下几个做法
………………………………………………………………我是写程序的分割线……………………………………………………………………
1.方法一:bool的数组,标志数组,常用,记住,尤其memset
2.方法二:利用map,有一句话必须加,还不懂为什么,可能是c++本身的原因,学多了回来看。理解了暂时储存真正的意思,利用left暂时储存上一个,感觉66的2333
3.方法三:讲道理这个我没想出来简直想抽自己,既然是相差多少,肯定可以先排序嘛哼唧
4.方法四:循环套循环,大量存储,就是上面说的除以2,不建议用……还是别用了不能用
一个多小时又是……叹个气……