双指针【1】两数之和基础版 归并排序

基础两数之和

给定递增序列,输出所有和为k的种数

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=100001;int n,m,k,num1[N],num2[N]; 
int sum2()
{int i=0,j=n-1,ans=0;
	while(i<j)
	{
		if(num1[i]+num1[j]==k) 
		{
			ans++;i++;j--;
		}
		else
		{
			if(num1[i]+num1[j]<k) i++;
			else j--;
		}
	}
	return ans;
}


int main()
{//printf("%lf",(double)9/2);
	scanf("%d",&n);scanf("%d",&k);for(int i=0;i<n;i++) scanf("%d",&num1[i]); 
	
	printf("%d",sum2());
}

归并排序

 需要会写合并两个序列(双指针),上一节试过。

使用递归

这个代码有点问题

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
using namespace std;
const int N=10001;int n,m,k,num1[N],num2[N],ans[N]; 
void merge(int a[],int left,int c,int d,int right)
{
	int i=left;int j=d;int b=0;
	while(i<=c && j<=right )
	{
		if(a[i]<=a[j])
		{//printf("一%d%d",b,a[i]);
			ans[b]=a[i];i++;b++;
		}
		else
		{//printf("二%d%d",b,a[j]);
			ans[b]=a[j];j++;b++;
		}
	}
//	for(int k=0;k<b;k++)printf("!%d",ans[k]);
	if(i<=c)
	{
		for (int k=i;k<=c;k++)
		{
			ans[b]=a[k];b++;
		}
	}
	else{for(int k=j;k<=right;k++){ans[b]=a[j];b++;
	}
	}
	for (int k=left;k<=right;k++)
{a[k]=ans[k-left];//!!!!!!一开始写的a[k]=ans[k]找了半天错误呜呜呜呜呜呜
//printf("!%d!",a[k]);
	}	//printf("三"); 
}
void mergesort(int left,int right,int a[])
{
int l=left+(right-left)/2;
if(right>left) 

{//printf("?");
mergesort(left,l,a);
mergesort(l+1,right,a);	
merge(a,left,l,l+1,right);
}

}


int main()
{//printf("%lf",(double)9/2);
//int num3[]={2,1};
//merge(num3,0,0,1,1);
//	for(int i=0;i<5;i++) printf("%d",num3[i]); 
	scanf("%d",&n);for(int i=0;i<n;i++) scanf("%d",&num1[i]); 
	mergesort(0,n-1,num1);
	for(int i=0;i<n;i++) 
	{printf("%d",num1[i]); if(i<n-1) printf(" ");
	}
}

 

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-16 07:22:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-16 07:22:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-16 07:22:02       82 阅读
  4. Python语言-面向对象

    2024-06-16 07:22:02       91 阅读

热门阅读

  1. mybatis框架原理,组件,案例,优化,优缺点总结

    2024-06-16 07:22:02       31 阅读
  2. TPS、QPS、CPS、PV和UV

    2024-06-16 07:22:02       48 阅读
  3. 如何用蒙版制作玻璃划动效果

    2024-06-16 07:22:02       31 阅读
  4. Python知识点总结

    2024-06-16 07:22:02       36 阅读
  5. Redis

    Redis

    2024-06-16 07:22:02      34 阅读
  6. 数据结构之B树

    2024-06-16 07:22:02       31 阅读
  7. 华为Atlas 300I 推理卡显卡安装

    2024-06-16 07:22:02       28 阅读
  8. 数据分析的流程是啥样?

    2024-06-16 07:22:02       31 阅读
  9. RAG下的prompt编写探索

    2024-06-16 07:22:02       30 阅读
  10. merkle tree中文

    2024-06-16 07:22:02       34 阅读
  11. 网络数据库后端框架相关面试题(其四)

    2024-06-16 07:22:02       30 阅读
  12. k8s pv使用nfs挂载券需要授权

    2024-06-16 07:22:02       32 阅读
  13. HDFS架构

    2024-06-16 07:22:02       29 阅读