New Code day13

1.调整数组使奇数全部都位于偶数前面。

**

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
	int arr[] = {1,2,3,4,5,6,7,8,9,10};
	int len =sizeof(arr)/sizeof(arr[0]);
	int left = 0;
	int right =len-1;
	while(left<right)
	{
		while((!(arr[left]%2))&&(left<=right))
		{
			if((arr[right]%2)&&(left<=right))
			{
				int tmp = arr[left];
				arr[left] = arr[right];
				arr[right] = tmp;
			}
			right--;
		}
		left++;
	}
	left = 0;
	while(len)
	{
		printf("%d ",arr[left]);
		left++;
		len--;
	}
	return 0;
}

**

2.杨氏矩阵

有一个二维数组.
数组的每行从左到右是递增的,每列从上到下是递增的.
在这样的数组中查找一个数字是否存在。
时间复杂度小于O(N);

数组:
1 2 3
2 3 4
3 4 5

1 3 4
2 4 5
4 5 6

1 2 3
4 5 6
7 8 9

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <assert.h>
#define ROW 4
#define COL 5

int find(int arr[][COL],int x)
{	
	int row = 0;
	int col = 4;
	assert(arr);
	
	if(x<arr[0][0] || x>arr[ROW-1][COL-1])
		return 0;
	while((row<=ROW-1)&&(col<=COL-1))
	{
		if(x>arr[row][col])
			row++;
		else if(x<arr[row][col])
			col--;
		else
			return 1;
	}
	return 0;
}
int main()
{
	int input = 0;
	int arr[4][5] = {{1, 2, 3, 4, 5 },
	                 {6, 7, 8, 9, 10},
	                 {11,12,13,14,15},
	                 {16,17,18,19,20}};	
	printf("请输入要查找的数>:");
	scanf("%d",&input);
	if(find(arr,input))
		printf("find_data\n");
	else
		printf("find_no_data\n");
	return 0;
}
全部评论

相关推荐

11-27 17:35
已编辑
蚌埠坦克学院 C++
深信服 后台开发 n×12
点赞 评论 收藏
分享
11-09 14:54
已编辑
华南农业大学 产品经理
大拿老师:这个简历,连手机号码和照片都没打码,那为什么关键要素求职职位就不写呢? 从上往下看,都没看出自己到底是产品经理的简历,还是电子硬件的简历? 这是一个大问题,当然,更大的问题是实习经历的描述是不对的 不要只是去写实习流程,陈平,怎么去开会?怎么去讨论? 面试问的是你的产品功能点,是怎么设计的?也就是要写项目的亮点,有什么功能?这个功能有什么难处?怎么去解决的? 实习流程大家都一样,没什么优势,也没有提问点,没有提问,你就不得分 另外,你要明确你投的是什么职位,如果投的是产品职位,你的项目经历写的全都是跟产品无关的,那你的简历就没用 你的面试官必然是一个资深的产品经理,他不会去问那些计算机类的编程项目 所以这种四不像的简历,在校招是大忌
点赞 评论 收藏
分享
尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务