【华为OJ】【038-iNOC产品部-杨辉三角的变形】
来源:互联网 发布:淘宝心选在哪里显示 编辑:程序博客网 时间:2024/05/17 02:51
【华为OJ】【算法总篇章】
【华为OJ】【038-iNOC产品部-杨辉三角的变形】
【工程下载】
题目描述
1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 11 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。输入n(n <= 1000000000)
输入描述
输入一个int整数
输出描述
输出返回的int值
输入例子
4
输出例子
3
算法实现
import java.util.Arrays;import java.util.Scanner;/** * Author: 王俊超 * Date: 2015-12-24 16:41 * All Rights Reserved !!! */public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);// Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt")); while (scanner.hasNext()) { int input = scanner.nextInt(); System.out.println(findIndex(input)); } scanner.close(); } private static int findIndex(int n) { if (n <= 2) { return -1; } int[][] arr = {new int[2 * n - 1], new int[2 * n - 1], new int[2 * n - 1]}; arr[0][0] = 1; arr[1][0] = 1; arr[1][1] = 1; arr[1][2] = 1; for (int i = 2; i < n; i++) { int curr = i % 3; int prev = (i - 1) % 3; int last = 2 * i; // 最后一个下标 arr[curr][0] = 1; // 设置第一个值 arr[curr][1] = i; // 设置第二个值 arr[curr][last] = 1; // 设置倒数第一个值 arr[curr][last - 1] = i; // 设置倒数第二个值 for (int j = 2; j <= last - 2; j++) { arr[curr][j] = arr[prev][j - 2] + arr[prev][j - 1] + arr[prev][j]; } } int curr = (n - 1) % 3; for (int i = 0; i < arr[curr].length; i++) { if (arr[curr][i] % 2 == 0) { return i + 1; } } return -1; }}
3 0
- 华为oj inoc产品部--杨辉三角的变形
- 华为oj iNOC产品部-杨辉三角的变形
- 【华为OJ】iNOC产品部-杨辉三角的变形
- 【华为OJ】【038-iNOC产品部-杨辉三角的变形】
- [华为OJ--C++]038-iNOC产品部-杨辉三角的变形
- 华为OJ——iNOC产品部-杨辉三角的变形
- 华为OJ 初级:iNOC产品部-杨辉三角的变形
- 华为OJ——iNOC产品部-杨辉三角的变形
- 华为oj 初级 iNOC产品部-杨辉三角的变形
- 华为OJ——iNOC产品部-杨辉三角的变形
- 华为机试:iNOC产品部--完全数计算、杨辉三角的变形
- 【华为机试】iNOC产品部-杨辉三角的变形
- iNOC产品部-杨辉三角的变形
- iNOC产品部-杨辉三角的变形
- iNOC产品部-杨辉三角的变形
- iNOC产品部-杨辉三角的变形
- [编程题]iNOC产品部-杨辉三角的变形
- 华为初级——iNOC产品部:杨辉三角形的变形
- Unity研究院之多余的MeshCollider和Animation组件
- Unity5.3官方VR教程重磅登场-系列1
- Color Grading with Unity and the Asset Store
- 【华为OJ】【036-iNOC产品部--完全数计算】
- 【华为OJ】【037-挑7】
- 【华为OJ】【038-iNOC产品部-杨辉三角的变形】
- 成为C++高手之条件语句
- 不知道怎么开发VR游戏?Unity5.3官方VR教程重磅登场-系列3 VR中的交互方式
- Unity5.3官方VR教程重磅登场-系列4 VR中的用户界面
- 集合框架迭代器
- Unity5.3官方VR教程重磅登场-系列5 VR中的运动
- Unity5.3官方VR教程重磅登场-系列6 VR真机测试和产品发布
- android studio导入项目时乱码怎么处理?
- Android学习(48) -- 获取xml文件并解析.