20220906美的集团笔试

本文分享了参加2022年美的集团笔试的两道题目:杨辉三角的生成与直线上最多点数的计算。通过实例解析了解解题思路和AC代码,适合备考者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

20220906美的集团笔试

第一题 杨辉三角

题目链接

题目描述

给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

img

示例 1:

输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

示例 2:

输入: numRows = 1
输出: [[1]]

提示:

  • 1 <= numRows <= 30

解题思路

按照杨辉三角的性质做就行

AC代码

class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> ans = new ArrayList<List<Integer>>();
        for (int i = 0; i < numRows; i++) {
            List<Integer> row = new ArrayList<>();
            for (int j = 0; j <= i; j++) {
                if (j == 0 || j == i)
                    row.add(1);
                else
                    row.add(ans.get(i - 1).get(j - 1) + ans.get(i - 1).get(j));
            }
            ans.add(row);
        }
        return ans;
    }
}

第二题 直线上最多的点数

题目链接

题目描述

给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。

示例 1:

img

输入:points = [[1,1],[2,2],[3,3]]
输出:3

示例 2

img

输入:points = [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]
输出:4

提示

  • 1 <= points.length <= 300
  • points[i].length == 2
  • -10^4 <= xi, yi <= 10^4
  • points 中的所有点 互不相同

解题思路

我们知道,两个点可以确定一条线。

因此一个朴素的做法是先枚举两条点(确定一条线),然后检查其余点是否落在该线中。

为了避免除法精度问题,当我们枚举两个点 i 和 j 时,不直接计算其对应直线的 斜率截距,而是通过判断 ij 与第三个点 k 形成的两条直线斜率是否相等(斜率相等的两条直线要么平行,要么重合,平行需要 4 个点来唯一确定,我们只有 3 个点,所以可以直接判定两直线重合)。

AC代码

class Solution {
    public int maxPoints(int[][] points) {
        int n = points.length;
        int ans = 1;
        for (int i = 0; i < n; i++) {
            int[] x = points[i];
            for (int j = i + 1; j < n; j++) {
                int[] y = points[j];
                int cnt = 2;
                for (int k = j + 1; k < n; k++) {
                    int[] p = points[k];
                    int s1 = (y[1] - x[1]) * (p[0] - y[0]);
                    int s2 = (p[1] - y[1]) * (y[0] - x[0]);
                    if (s1 == s2) cnt++;
                }
                ans = Math.max(ans, cnt);
            }
        }
        return ans;
    }
}
美的集团(SZ.000333)是一家以家电制造业为主的大型综合性企业集团,于2013年9月18日在深交所上市,旗下拥有小天鹅(SZ000418)、威灵控股(HK00382)两家子上市公司。  1968年,美的创业,1980年,美的正式进入家电业,1981年注册美的品牌。目前,美的集团员工人数10.8万人,旗下拥有美的、小天鹅、威灵、华凌、安得、美芝等十余个品牌。集团在国内建有广东顺德、广州、中山;安徽合肥及芜湖;湖北武汉及荆州;江苏无锡、淮安、苏州及常州;重庆、江西贵溪、河北邯郸等14个生产基地,辐射华南、华东、华中、西南、华北五大区域;在越南、白俄罗斯、埃及、巴西、阿根廷、印度等6个国家建有生产基地。 主要家电产品有家用空调、商用空调、大型中央空调、冰箱、洗衣机、微波炉、风扇、洗碗机、电磁炉、电饭煲、电压力锅、豆浆机、饮水机、热水器、空气能热水机、吸尘器、取暖器、电水壶、烤箱、抽油烟机、净水设备、空气清新机、加湿器、灶具、消毒柜、照明等和空调压缩机、冰箱压缩机、电机、磁控管、变压器等家电配件产品。现拥有中国最完整的空调产业链、冰箱产业链、洗衣机产业链、微波炉产业链和洗碗机产业链;拥有中国最完整的小家电产品群和厨房家电产品群;在全球设有60多个海外分支机构,产品远销200多个国家和地区。  2014年,美的集团整体实现销售收入1423亿元,其中外销销售收入498亿。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值