// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改#include void solution(int n, int m, int arr1[], int arr2[], int result[]){// TODO: 请在此编写代码int j = 0, k = 0;for (int i = 0; i < m + n; i++){if (arr1[j] <= arr2[k]){result[i] = arr1[j];j++;}else{result[i] = arr2[k];k++;}if (i < m + n && j == n){while (m - k){result[++i] = arr2[k];k++;}break;}if (i < m + n && k == m){while (n - j){result[++i] = arr1[j];j++;}break;}}
}int main()
{int n;int m;scanf("%d", &n);scanf("%d", &m);int arr1[n];for (int i = 0; i < n; i++) scanf("%d", &arr1[i]);int arr2[m];for (int i = 0; i < m; i++) scanf("%d", &arr2[i]);int return_size = m + n;int result[return_size];solution(n, m, arr1, arr2, result);for (int i = 0; i < return_size; i++) printf("%d ", result[i]);return 0;
}
// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改#include long long solution(int m) {// TODO: 请在此编写代码long long arr[100];arr[0] = arr[1] = 1;for (int i = 2; i <= m; i++) arr[i] = arr[i - 1] + arr[i - 2];return arr[m];
}int main()
{int m;scanf("%d", &m);long long result = solution(m);printf("%lld", result);return 0;
}
#include
#includevoid Print(int num, int **arr) //打印蛇形矩阵
{if (num == 0) printf("%d", arr[0][0]);else{for (int i = 0; i < num; i++){for (int j = 0; j < num; j++)printf("%d ", arr[i][j]);printf("\n");}}
}int main()
{int i, j, m, n, num;scanf_s("%d", &num);int** arr = (int**)malloc(num * sizeof(int*)); //动态开辟存储单元for (int i = 0; i < num; i++) {arr[i] = (int*)malloc(num * sizeof(int));}arr[0][0] = 1;for (i = 1; i < num; i++) //上三角{if (i % 2 == 1) //奇数次循环的话,斜向下累加{m = 0; n = i;arr[0][i] = arr[0][i - 1] + 1; //偶数次循环,第一行的数为左边一个数加1for (j = 0; j < i; j++) arr[++m][--n] = arr[m - 1][n + 1] + 1; //从第二行开始斜向下累加}else //偶数次循环的话,斜向上累加{m = i; n = 0;arr[i][0] = arr[i - 1][0] + 1; //奇数次循环,第一列的数为上边一个数加1for (j = 0; j < i; j++) arr[--m][++n] = arr[m + 1][n - 1] + 1; //从第二列开始斜向上累加}}for (i = 0; i < (num - 1); i++) //下三角{if ((num + i) % 2 == 0) //num为偶数时,先斜向上累加{m = num-1, n = i + 1;arr[num-1][i + 1] = arr[num-1][i] + 1;for (j = num-1; j > (i+1); j--) arr[--m][++n] = arr[m + 1][n - 1] + 1;}else //num为奇数时,先斜向下累加{m = i + 1; n = num-1;arr[i + 1][num-1] = arr[i][num-1] + 1;for (j = num-1; j > (i+1); j--) arr[++m][--n] = arr[m - 1][n + 1] + 1;}}Print(num, arr);free(arr); //释放存储单元return 0;
}
运行结果:
// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改#include
#include void solution(int m, int arr1[], int result[]) {// TODO: 请在此编写代码int j = 0;for (int i = 0; i < m; i++) //奇数在前{if (arr1[i] % 2 == 1){result[j] = arr1[i];j++;}}for (int i = 0; i < m; i++) //偶数在后{if (arr1[i] % 2 == 0){result[j] = arr1[i];j++;}}
}int main() {int* arr; //原数组arr = (int*)malloc(1000 * sizeof(int));for (int i = 0; i < 1000; i++) scanf("%d", &arr[i]);int* result; //新数组result = (int*)malloc(n * sizeof(int));solution(n, arr, result);for (int i = 0; i < n; i++) printf("%d ", result[i]);return 0;
}
// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改#include
#include int solution(int n, int m, int arr[]) {// TODO: 请在此编写代码int low, high, mid;low = 0; high = n - 1;while (low <= high){mid = (low + high) / 2; //取中间位置if (m < arr[mid]) high = mid - 1; //从前半部分继续查找else if (m > arr[mid]) low = mid + 1; //从后半部分继续查找 else{for (int i = mid; i < n; i++){if (mid == n - 1) return mid; //目标值在数组的最后一个位置if ((mid < n - 1) && (m != arr[i])) return i - 1;}}}return -1; //查找失败
}int main() {int n, m;scanf("%d %d", &n, &m);int* arr;arr = (int*)malloc(n * sizeof(int));for (int i = 0; i < n; i++) scanf("%d", &arr[i]);int result = solution(n, m, arr);printf("%d", result);free(arr);return 0;
}
// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改#include
#include int solution(int n, int arr[]) {int result = 0, count;// TODO: 请在此编写代码for (int i = 0; i < n; i++){count = 0;for (int j = i + 1; j < n; j++){if (arr[j] > arr[j - 1]) count++;else break;}if (count > result) result = count;}return result + 1;
}int main() {int n;scanf("%d", &n);int* arr;arr = (int*)malloc(n * sizeof(int));for (int i = 0; i < n; i++) scanf("%d", &arr[i]);int result = solution(n, arr);printf("%d", result);return 0;
}
- 两题可用相同的代码,均通过测试
通过率80%
// 请关闭中文输入法,用英文的字母和标点符号。
// 如果你想运行系统测试用例,请点击【执行代码】按钮,如果你想提交作答结果,请点击【提交】按钮,
// 注意:除答案外,请不要打印其他任何多余的字符,以免影响结果验证
// 本OJ系统是基于 OxCoder 技术开发,网址:www.oxcoder.com
// 模版代码提供基本的输入输出框架,可按个人代码习惯修改#include
#include void solution(int n, int arr[]) {// TODO: 请在此编写代码int max = arr[0], start = 0, end = 0;for (int i = 0; i < n; i++){int current = 0;for (int j = i; j < n; j++){ current = current + arr[j];if (current >= max){max = current;start = i;end = j;}}}printf("%d %d", start, end);
}int main() {int n;scanf("%d", &n);int* arr;arr = (int*)malloc(n * sizeof(int));for (int i = 0; i < n; i++) scanf("%d", &arr[i]);solution(n, arr);return 0;
}