Unity中做力扣算法题(Day3 盛最多水的容器问题)
Tips(新手向):
1.创建一个Unity新项目。
2.在Hierarchy窗口下鼠标右键新建一个Cube。
3.在project的Assets文件夹下新建一个Scripts文件夹,鼠标右键新建一个c# Script并取名为Come(可自拟)。
4.在Hierarchy窗口点击Cube,在右边的Inspector窗口下点击Add Componet,搜索Come脚本并点击。或者可以直接用鼠标拖拽脚本挂到Cube上。
5.双击Come脚本并编辑(下方源码)。
6.ctrl+shift+c调出console窗口看调试结果(如图 传的int[]是{ 4,3,2,1,4})。
题目:
代码:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;public class Come : MonoBehaviour
{
public int[] nums;
void Update()
{
ContainerWithMostWater(nums);
}
void ContainerWithMostWater(int[] nums)
{
nums = new int[] {4,3,2,1,4};
int max = 0;
int i = 0; //第一位
int j = nums.Length - 1;//最后一位
while (i < j)
{
int area = (j - i) * Math.Min(nums[i], nums[j]);//计算面积,面积就是题目的答案
if (area > max) max = area;
if (nums[i] < nums[j]) i++;
else j--;
}
Debug.Log(max);
}
}