首页 > 其他分享 >【Leetcode 每日一题】3270. 求出数字答案

【Leetcode 每日一题】3270. 求出数字答案

时间:2025-01-11 14:28:39浏览次数:3  
标签:digits1 答案 min int num 3270 Leetcode Math num1

问题背景

给你三个 整数 n u m 1 num_1 num1​, n u m 2 num_2 num2​ 和 n u m 3 num_3 num3​。
数字 n u m 1 num_1 num1​, n u m 2 num_2 num2​ 和 n u m 3 num_3 num3​ 的数字答案 k e y key key 是一个四位数,定义如下:

  • 一开始,如果有数字 少于 四位数,给它补 前导 0 0 0
  • 答案 k e y key key 的第 i i i 个数位 ( 1 ≤ i ≤ 4 ) (1 \le i \le 4) (1≤i≤4) 为 n u m 1 num_1 num1​, n u m 2 num_2 num2​ 和 n u m 3 num_3 num3​ 第 i i i 个数位中的 最小 值。
    请你返回三个数字 没有 前导 0 0 0 的数字答案。

数据约束

  • 1 ≤ n u m 1 , n u m 2 , n u m 3 ≤ 9999 1 \le num1, num2, num3 \le 9999 1≤num1,num2,num3≤9999

解题过程

终于想起来简单题简单做了,三个四位数,连循环都不需要。

具体实现

class Solution {
    public int generateKey(int num1, int num2, int num3) {
        int[] digits1 = cal(num1);
        int[] digits2 = cal(num2);
        int[] digits3 = cal(num3);
        digits1[0] = Math.min(digits1[0], Math.min(digits2[0], digits3[0]));
        digits1[1] = Math.min(digits1[1], Math.min(digits2[1], digits3[1]));
        digits1[2] = Math.min(digits1[2], Math.min(digits2[2], digits3[2]));
        digits1[3] = Math.min(digits1[3], Math.min(digits2[3], digits3[3]));
        return digits1[0] * 1000 + digits1[1] * 100 + digits1[2] * 10 + digits1[3];
    }

    private int[] cal(int num) {
        int[] digits = new int[4];
        digits[0] = num / 1000;
        digits[1] = num % 1000 / 100;
        digits[2] = num % 100 / 10;
        digits[3] = num % 10;
        return digits;
    }
}

标签:digits1,答案,min,int,num,3270,Leetcode,Math,num1
From: https://blog.csdn.net/2401_88859777/article/details/145077000

相关文章

  • Leetcode刷题的一些记录(Java)
    Leetcode刷题一、理论:1.数组:https://programmercarl.com/数组理论基础.htmlC++中二维数组在地址空间上是连续的。像Java是没有指针的,同时也不对程序员暴露其元素的地址,寻址操作完全交给虚拟机。所以看不到每个元素的地址情况,这里我以Java为例,也做一个实验。publicstatic......
  • LeetCode:349.两个数组的交集
    集合是什么?一种无序且唯一的数据结构。ES6中有集合,名为Set。集合的常用操作:去重、判断某元素是否在集合中、求交集letarr=[1,2,2,4,5,6,7,8,9,10]letunRepeat=[...newSet(arr)]console.log(unRepeat)letset1=newSet([1,2,3])letset2=newSet([3,4,5])console.log(se......
  • LeetCode:141.环形链表
    //双指针快+1=慢trueclassListNode{constructor(val,next){this.val=(val===undefined?0:val)this.next=(next===undefined?null:next)}}varhasCycle=function(head){letfast=headletslow=headwhile(......
  • LeetCode:83.删除排序链表中的重复元素
    LeetCode:83.删除排序链表中的重复元素classListNode{constructor(val,next){this.val=(val===undefined?0:val)this.next=(next===undefined?null:next)}}vardeleteDuplicates=function(head){letp=head//head......
  • 二叉树层序遍历 Leetcode102.二叉树的层序遍历
    二叉树的层序遍历相当于图论的广度优先搜索,用队列来实现(二叉树的递归遍历相当于图论的深度优先搜索)102.二叉树的层序遍历给你二叉树的根节点 root ,返回其节点值的 层序遍历 。(即逐层地,从左到右访问所有节点)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[......
  • Java面试笔试题大汇总(最全+详细答案)
    1.抽象类和接口的对比从设计层面来说,抽象类是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。相同点①接口和抽象类都不能实例化②都位于继承的顶端,用于被其他类实现或继承③都包含抽象方法,其子类都必须重写这些抽象方法不同点注:Java8中接口中引入默......
  • LeetCode:206.反转链表
    flowchartTDA[开始]-->B{p1是否为空}B-->|No|C[保存p1.next到temp]C-->D[将p1.next指向p2]D-->E[更新p2为p1]E-->F[更新p1为temp]F-->BB-->|Yes|G[返回p2]LeetCode:206.反转链表/***Definitionforsingly-linkedlist.*functionLi......
  • 联想嵌入式面试题及参考答案
     请阐述static在声明变量、函数、类成员时的不同之处及其作用。一、static变量全局静态变量当在全局变量前加上static关键字时,这个变量的作用域就被限制在了定义它的文件内。它的生命周期仍然是整个程序运行期间,但其他文件不能访问它。例如,在一个C++程序中有两......
  • 提升长文本问答质量:让AI生成真实可信的长篇答案
    人工智能咨询培训老师叶梓转载标明出处RAG通过结合搜索引擎检索的相关信息,显著提升了模型在知识密集型任务中的表现。然而,现有的RAG模型在生成长文本答案时存在两个主要问题:一是生成的答案缺乏事实性(factuality),即生成的内容与检索到的参考信息不完全一致;二是生成的答案逻辑结......
  • LeetCode算法题:删除排序链表中的重复元素
    题目描述下面是给定的一段代码 /***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val......