首页 > 其他分享 >2024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数 x 的每一位数字都替换为 x 中的最大数字,然后返回加密后的数字。 例如,encr

2024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数 x 的每一位数字都替换为 x 中的最大数字,然后返回加密后的数字。 例如,encr

时间:2024-09-24 14:25:57浏览次数:10  
标签:10 加密 数字 nums base ans go mx


2024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数 x 的每一位数字都替换为 x 中的最大数字,然后返回加密后的数字。

例如,encrypt(523) 会返回 555,encrypt(213) 会返回 333。

现在需要计算数组中所有元素加密后的和,然后返回这个和。

输入:nums = [10,21,31]。

输出:66。

解释:加密后的元素为 [11,22,33] 。加密元素的和为 11 + 22 + 33 == 66 。

答案2024-09-14:

chatgpt

题目来自leetcode3079。

大体步骤如下:

1.对于每个输入的整数 x,从最右侧开始取每一位的数字,同时记录下最大的数字为 mx,并构建一个 base 变量,初始值为 0。

2.对 x 进行循环,每次取 x 的最后一位数字,更新 mx 和 base 的值,直到 x 为 0。

3.计算当前整数 x 加密后的值为 mx * base。

4.将每个加密后的整数值加到结果 ans 上。

5.遍历完所有输入整数后,返回结果 ans。

总体时间复杂度为 O(n*m),其中 n 是数组中整数的个数,m 是整数的位数。

额外空间复杂度为 O(1),因为只用了常数级别的额外空间。

Go完整代码如下:

package main

import (
	"fmt"
)

func sumOfEncryptedInt(nums []int) (ans int) {
	for _, x := range nums {
		mx, base := 0, 0
		for ; x > 0; x /= 10 {
			mx = max(mx, x%10)
			base = base*10 + 1
		}
		ans += mx * base
	}
	return
}

func main() {
	nums := []int{10, 21, 31}
	fmt.Println(sumOfEncryptedInt(nums))
}

2024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数 x 的每一位数字都替换为 x 中的最大数字,然后返回加密后的数字。 例如,encr_开发语言

Rust完整代码如下:

fn max(a: i32, b: i32) -> i32 {
    if a > b { a } else { b }
}

fn sum_of_encrypted_int(nums: &[i32]) -> i32 {
    let mut ans = 0;
    for &x in nums {
        let (mut mx, mut base) = (0, 0);
        let mut temp_x = x;
        while temp_x > 0 {
            mx = max(mx, temp_x % 10);
            base = base * 10 + 1;
            temp_x /= 10;
        }
        ans += mx * base;
    }
    ans
}

fn main() {
    let nums = vec![10, 21, 31];
    println!("{}", sum_of_encrypted_int(&nums));
}

2024-09-14:用go语言,给定一个正整数数组 nums,定义一个加密函数 encrypt(x),其将一个整数 x 的每一位数字都替换为 x 中的最大数字,然后返回加密后的数字。 例如,encr_数组_02


标签:10,加密,数字,nums,base,ans,go,mx
From: https://blog.51cto.com/moonfdd/12099429

相关文章

  • Google Photos 利用 AI 驱动的视频预设重新设计视频编辑器
    在更新了“收藏”标签和搜索功能后,GooglePhotos现在正在推出其手机视频编辑器的重新设计。目标是让用户“比以往更容易地编辑喜欢的视频,制作成精彩片段分享。”GooglePhotos将主要的编辑工具放在“视频”标签的显眼位置。时间轴下方可以看到以下工具:静音增强:“一键增强颜......
  • 华为 Flexus 云服务器搭建 PicGo 图床
    一、引言在这个数字化的时代,高效地管理和存储图片资源变得至关重要。2024年9月14日,我将利用华为Flexus云服务器搭建一个PicGo图床,开启一场便捷的图片管理之旅。二、华为Flexus云服务器:稳定的基石华为Flexus云服务器以其卓越的性能和高度的稳定性脱颖而出。它强大的计......
  • django ORM
    安装pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simpledjango==2.2pipinstallpymysql#django使用pymysql作为数据库连接引擎配置#__init__.py#使用pymysql替代mysqlDB作为mysql引擎importpymysqlpymysql.install_as_MySQLdb()#settings.pyDATABASES=......
  • CloudFlare对接来此加密:实现域名自动验证 快速申请证书
    使用ACME可以方便的申请证书,其中相对比较麻烦的是如何自动验证域名。 CloudFlare有两种接口凭证对接方式。a)具有限制性的APITokens。b)具有所有权限的APIKeys。为了安全起见,来此加密只采用具有限制性的APITokens,用户可以随时取消或修改,以保护CloudFlare的安全。APITo......
  • WGCAT基本使用 - 如何设置系统名称和LOGO
    WGCAT工单管理系统,支持设置系统名称和LOGO,只需要修改下配置文件就可以了打开配置文件config/application.yml,设置如下配置项#server/logo/下的ico图标名称,建议32*32,如favicon.png,此功能需升级到专业版icoName:#server/logo/下的logo图标名称,建议120*120,如logo.png,此功能需......
  • Vue.js与Flask/Django后端配合
    Vue.js是一个流行的前端JavaScript框架,而Flask和Django是常用的Python后端框架。以下是关于Vue.js与Flask或Django后端配合的介绍:一、Vue.js的特点与优势Vue.js具有以下主要特点和优势:渐进式框架:可以根据项目需求逐步引入和扩展功能。响应式数据绑定:自动更......
  • 智算中心动环监控:构建高效、安全的数字基础设施@卓振思众
    在当今快速发展的数字经济时代,智算中心作为人工智能和大数据技术的核心支撑设施,正日益成为各行业实现智能化转型的重要基石。为了确保这些高性能计算环境的安全与稳定,卓振思众动环监控应运而生,成为智算中心管理的重要组成部分。动环监控的核心功能实时环境监测动环监控系统通......
  • go发送飞书机器人webhook
    packagecontrollersimport("PrometheusAlert/models""bytes""crypto/tls""encoding/json""io/ioutil""net/http""net/url""strings""github.co......
  • go flag的常用设置
    packagemainimport("bytes""encoding/json""flag""fmt""io/ioutil""net/http""os")varZabbixTarget,ZabbixMessage,ZabbixType,PrometheusAlertUrlstringvarhelp......
  • go基础-16.文件操作
    文件读取一次性读取byteData,_:=os.ReadFile("go_study/hello.txt")fmt.Println(string(byteData))获取当前go文件的路径可以通过获取当前go文件的路径,然后用相对于当前go文件的路径去打开文件//GetCurrentFilePath获取当前文件路径funcGetCurrentFilePath()string......