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

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

时间:2024-09-14 20:22:25浏览次数:3  
标签: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/12018647

相关文章

  • 什么是数字取证?
    据联邦调查局称,2021年发生了80多万起网络犯罪。由于其隐秘性,此类犯罪很容易发生。当你坐在咖啡店里使用他们的Wi-Fi时,你怎么知道你不是同一网络上某人犯罪的受害者呢?律师和检察官在数字取证专家的帮助下打击此类犯罪。数字取证调查将揭示定罪网络罪犯所需的必要数据和......
  • 解码3D数字人及AIGC产品,如何赋能医美行业全场景业务增长
    9月13日,第六届“医美小小聚”暨医美信息与服务创新发展大会在热烈的氛围中拉开帷幕。此次盛会汇聚了医美行业的顶尖精英与前瞻者,他们围绕“聚焦营销,合规增长,融合共创”的主题,深入剖析了行业的新趋势、新机遇与新挑战。在这场前瞻观点与前沿技术的碰撞中,魔珐科技凭借领先的3D数......
  • Go runtime 调度器精讲(六):非 main goroutine 运行
    原创文章,欢迎转载,转载请注明出处,谢谢。0.前言在Goruntime调度器精讲(三):maingoroutine创建介绍了maingoroutine的创建,文中我们说maingoroutine和非maingoroutine有区别。当时卖了个关子并未往下讲,这一讲我们会继续介绍非maingoroutine(也就是go关键字创建的......
  • 加密解密工具类
    加密解密工具类packagecom.example.modules.util;importjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;importjavax.crypto.SecretKey;importjavax.crypto.spec.SecretKeySpec;importjava.security.SecureRandom;importjava.util.Base64;publ......
  • 基于django+vue电脑DIY微信小程序演示录像22023【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着科技的飞速发展,个人电脑(PC)已成为人们日常生活与工作中不可或缺的一部分。然而,在市场上琳琅满目的电脑配件和复杂多变的配置选项中,许多......
  • 基于django+vue电脑DIY微信小程序【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着科技的飞速发展,个人电脑已成为日常生活与工作中不可或缺的工具。而电脑DIY(自己动手组装电脑)作为一种新兴的文化和趋势,不仅满足了用户......
  • 基于django+vue电力营销系统设计【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着电力行业的快速发展与智能电网技术的日益成熟,传统的电力营销方式已难以满足现代社会的需求。面对用户需求的多样化、服务要求的提升以......
  • 数字OA——低代码开发平台范赋能企业设计与探索
    在数字化转型的浪潮中,企业面临着快速适应市场变化和提高业务效率的双重挑战。传统的软件开发方式往往耗时长、成本高,难以满足企业敏捷开发的需求。低代码开发平台应运而生,它通过提供可视化的开发环境和丰富的组件库,极大地降低了应用开发的门槛,加速了软件交付周期。本文将围绕JN......
  • 从数据仓库到数据飞轮,看传统服务行业的数字化转型进化
    背景:数字经济时代,随着5G,物联网,大数据,云计算,区块链等技术的应用,企业由原来单纯的重视产品为中心,发展到产品本身和产品服务并重,客户服务成为企业运营的生命线,数字经济时代呼唤客户数字化服务转型,重塑数字化服务新体系,数字化服务呈现在线化,平台化,智慧化,透明化等特点。数字......
  • 国考排名上升超200名!广医四院数字化升级推动运营与效益双飞跃
    广州医科大学附属第四医院(以下简称广医四院),始建于1949年,是一所集医疗、教学、科研、预防、保健、康复为一体的三级综合性医院,是增城区规模最大、综合实力最强的公立医院。近年来,随着基础建设的不断完善,学科和专科发展持续加强,人才队伍结构不断优化,科研教学工作稳步推进,广医四院实现......