程序员面试金典——17.12整数对查找
程序员面试金典——17.12整数对查找
Solution1:针对重复数字的情况题目未做明确说明,虽然此题仍能AC,但有的重复数字用了1次,有的用了超过1次,要求不清晰。重点是这种前后双指针的方法要会!!!
class FindPair {
public:int countPairs(vector<int> A, int n, int sum) {// write code hereif(n <= 1)return -1;sort(A.begin(), A.end());int pairs = 0, low = 0, high = n - 1;while(low < high) {if (A[low] + A[high] == sum) {//针对 3,3,3这种情况if(A[low] == A[high]) { int x = high - low + 1;pairs += (x * (x - 1)) / 2;break;}//下面是针对2,2,2,3,4,4,4,4此类情况int temp_low = A[low], temp_high = A[high], i = 1, j = 1;while(A[low + 1] == temp_low) {i++;low = low + 1;}while(high > low && A[high - 1] == temp_high) {j++;high = high - 1;}pairs += i * j;low++;high--;}else if (A[low] + A[high] < sum) low++;else if(A[low] + A[high] > sum)high--;}return pairs;}
};
程序员面试金典——17.12整数对查找相关推荐
- 程序员面试金典——18.12最大和子矩阵
程序员面试金典--18.12最大和子矩阵 Solution1: 参考网址: [1]https://www.cnblogs.com/GodA/p/5237061.html 思想讲的很清楚~ [2]htt ...
- 【重点】程序员面试金典——17.13树转链表
程序员面试金典--17.13树转链表 在<剑指offer>上有一个类似的题目:https://blog.csdn.net/allenlzcoder/article/details/7961 ...
- 程序员面试金典——17.9词频统计
程序员面试金典--17.9词频统计 Solution1:我的答案.利用了STL中的map或者unordered_map结构,因为unordered_map是基于哈希结构实现的,所以更好一点. clas ...
- 程序员面试金典——17.8最大连续数列和
程序员面试金典--17.8最大连续数列和 Solution1:典型的动态规划题啊. 一遍过,哈哈哈 class MaxSum { public:int getMaxSum(vector<int& ...
- 程序员面试金典——17.6最小调整有序
程序员面试金典--17.6最小调整有序 Solution1:我的答案.垃圾算法 class Rearrange { public:vector<int> findSegment(vecto ...
- 程序员面试金典——17.3阶乘尾零
程序员面试金典--17.3阶乘尾零 Solution1:我的答案.没有更笨的方法了... class Factor { public:int getFactorSuffixZero(int n) {/ ...
- 程序员面试金典——17.5珠玑妙算
程序员面试金典--17.5珠玑妙算 参考网址:https://www.nowcoder.com/profile/2708949/codeBookDetail?submissionId=13283364 ...
- 程序员面试金典——17.4无判断max
程序员面试金典--17.4无判断max 参考网址: https://www.nowcoder.com/practice/b0a82250677a4fabb0bc41053fa05013?tpId=8& ...
- 程序员面试金典——17.1无缓存交换
程序员面试金典--17.1无缓存交换 主要是利用异或性质~ 程序员面试金典--17.1无缓存交换 class Exchange { public:vector<int> exchangeA ...
最新文章
- 【STM32】SysTick定时器
- Oracle学习笔记:通过种子数据库设置dbid为指定值
- Unable to open /dev/sda的原因之一
- Guice之Servlet基础
- Windows系统appium移动端自动化真机环境搭建
- logistic regression及其Python实现
- 多多自走棋服务器不稳定,多多自走棋突然宣布停服,数据将全部转移到腾讯服务器中...
- 两种方法解决Undefined symbol SystemInit问题
- vite 框架 打包修改主页名字得方法
- 单片机微型计算机原理及接口技术,单片机微型计算机原理及接口技术课后习题答案第4章.docx...
- Arduino使用人体红外传感器
- seo关键词优化的技巧
- Xilinx HLS 导出IP失败的最新解决方案(2022.1.15)
- 06 java GUI 网络编程:图形界面聊天室
- 斐波纳契数列(Fibonacci Sequence),又称黄金分割数列
- golang结构体指针
- EyouCMS响应式幽默笑话搞笑短文网站模板/资讯类文章发布网站模板
- thymeleaf拆分头部(head)显示异常问题
- Microsoft Office SharePoint Designer 2007 (FrontPage) 2007 介绍
- JavaEye范凯谈唐骏造假事件
热门文章
- rocketmq消息存储原理_RocketMQ到底快在哪里?深入探索RocketMQ消息存储和查询原理...
- Aix下运行java程序_AIX上部署java项目
- android多申请内存,Android内存等信息
- php 列表收缩展示插件,可展开和收缩的jquery FAQ问答列表特效
- 格式notepad自动对齐_6.2 对齐设置
- minio 文件预览_Minio使用说明
- python txt 操作_python TXT文件操作
- 如何在Linux,Ubuntu,CentOS上安装Java 14
- linux 更改ssh端口_如何在Linux中更改SSH端口-简易指南
- df 命令查看磁盘空间_Linux df命令检查磁盘空间