4.2学习总结

解题思路

遍历初始整数的全排列,然后计算每一个排列与原排列的的步数找到花费的最小值就行了

代码

#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
using namespace std;
int g[5];
int j[5];
int gg[5];
int min2;
int d(int sum)
{int t=0,s[4]={sum/1000,sum/100%10,sum/10%10,sum%10};for(int x=0;x<4;x++){if(abs(s[x]-j[x])>=5){t=t+9-abs(s[x]-j[x]);}else{t=t+abs(s[x]-j[x]);}}return t;
}
int dfs(int sum,int k)
{if(sum>999){int t=d(sum)+k;if(t<min2)min2=t;return 0;}else{for(int x=0;x<4;x++){if(gg[x]==0){gg[x]=1;dfs(sum*10+g[x],k++);gg[x]=0;}}}
}
int main()
{int t,a,b;scanf("%d",&t);while(t--){min2=999999999;scanf("%d%d",&a,&b);for(int x=3;x>=0;x--){g[x]=a%10;j[x]=b%10;a/=10;b/=10;}dfs(0,0);printf("%d\n",min2);}return 0;
}

解题思路

我们只要将他进行模拟就可以发现这个导出机器花费的时间是有规律的,当我们同时利用两个机器时是最快的,当需要打的票为偶数是我们可以在完成偶数次的打印后无需在等,但当需要打的票为奇数次时,还要再等到一台机器冷却结束,我们还要对操作时间和冷却时间进行判断,当操作时间大于等于冷却时间时无需等待,当冷却时间大于操作时间时就还要等 冷却时间-操作时间.

代码

#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
using namespace std;
int main()
{long long x,y,a,b,n,t;long long  sum=0,k=0;scanf("%lld",&t);while(t--){scanf("%lld%lld%lld",&a,&b,&n);k=n/2;if(a>b)sum=k*((2*b)+a-b);elsesum=k*2*b;k*=2;if(k<n){sum+=b;}else if(a>b){sum-=(a-b);}printf("%lld\n",sum);}return 0;
}

java学习

''==''和equals方法的区别

''==''在对基本数据类型进行比较时比较的是变量所保存的值,当==对引用数据类型进行比较时也使用统一规则,但此时引用类型变量所保存的是地址值,所以此时==比较的是他们的地址值.

public class Main {public static void main(String[] args){String a=new String("jjm");String b="jjm";String c="jjm";int x=3;int y=3;System.out.println(x==y);System.out.println(b==c);System.out.println(a==b);System.out.println(a.equals(b));}
}

equals是一种方法这个方法是给我们进行重写的,目的是使得有一种方法区别与''==''可以做到''==''做不到的功能,equals方法空出来的目的是为了让每一个类都有一个准确的判断两个类是否相同的方法.在String中equals已被重写,他判断两个字符串相等的标准是要两个字符串所包含的字符序列相同,通过 equalsO比较将返回 true,否则返回false.

正确的重写equals的方法应该满足以下条件

类里包含了五种成员,他们分别是成员变量,方法,构造器,代码块,内部类,能被static修饰的只有成员变量,方法,代码块,内部类.

final

final关键字用于修饰类,变量和方法,被final关键字修饰的类,变量和方法不可被改变,事实上被final修饰的变量一旦获得的初始值就不能被重新赋值,而被final修饰的方法不能被重写,但final修饰的方法可以被重载只是不能重写而已,final修饰的类不能有子类.

类变量: 必须在静态初始化块中指定初始值或声明该类变量时指定初始值,而且只能在两个地方的其中之一指定。

实例变量:必须在非静态初始化块,声明该实例变量或构造器中指定初始值,而且只能在三个地方的其中之一指定。

不要在初始化之前直接访问final成员变量,但java允许通过方法来访问final成员变量,此时系统会将final默认初始化为0;

当使用 final 修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变。 但对于引用类型变量而言,它保存的仅仅是一个引用,所以final 只保证这个引用类型变量所引用的地址不 会改变, 即一直引用同一个对象,但这个对象完全可以发生改变.

public class Main {public static void main(String[] args){final int [] iArr={5,6,12,9};System.out.println(Arrays.toString(iArr));iArr[2]=3;System.out.println(Arrays.toString(iArr));iArr=NULL;  //这一句语句会报错因为final保证了引用类型变量引用的地址不会改变}
}

集合

ArrayList类

ArrayList类提供了很多方法,提供的方法有:

add():向集合内添加元素;

remove():删除集合内的元素

size():计算集合的大小

clear():删除集合内所有的元素

contains():判断元素是否在集合内

ArrayList中的元素是对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/788579.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt 使用QPropertyAnimation动画效果的图片浏览器

文章目录 效果图功能点代码解析图片切换显示与动画效果图片缩放 总结 效果图 功能点 加载指定路径下的所有图片并显示滑动滑动条查看指定图片&#xff0c;也滚轮切换图片滑动条缩略图加入动画效果图片可以进行缩放移动查看 代码解析 整体来说相对&#xff0c;显示图片的是一…

Apache Paimon实时数据糊介绍

Apache Paimon 是一种湖格式,可以使用 Flink 和 Spark 构建实时 数据糊 架构,用于流式和批处理操作。Paimon 创新地将湖格式和 LSM(日志结构合并树)结构相结合,将实时流式更新引入湖架构中。 Paimon 提供以下核心功能: 实时更新: 主键表支持大规模更新的写入,具有非常…

LeetCode 热题 100 | 动态规划(一)

目录 1 70. 爬楼梯 1.1 基本思路 1.2 官方题解 2 118. 杨辉三角 3 198. 打家劫舍 菜鸟做题&#xff0c;语言是 C 1 70. 爬楼梯 核心思想&#xff1a;把总问题拆解为若干子问题。 总问题&#xff1a;上到 5 楼的方式有多少种子问题&#xff1a;上到 4 楼的方式有多…

Oracle常用sql命令(新手)

1、备份单张表 创建复制表结构 create table employeesbak as select * from cims.employees 如果只复制表结构&#xff0c;只需要在结尾加上 where 10 插入数据 insert into employeesbak select * from cims.employees 删除一条数据 delete from…

【Servlet】服务器内部转发以及客户端重定向

文章目录 一、服务器内部转发&#xff1a;request.getRequestDispatcher("...").forward(request, response);二、客户端重定向&#xff1a;response.sendRedirect("");三、服务器内部转发代码示例四、客户端重定向代码示例 一、服务器内部转发&#xff1a…

小象超市(原美团买菜) 的大屏图表

文章目录 概要技术细节技术名词解释小结 概要 20203年12月1日&#xff0c;美团旗下自营零售品牌“美团买菜”升级为全新品牌“小象超市”。 &#xff0c;“小象超市”坚持美团自营零售模式&#xff0c;通过在社区设立的集存储、分拣、配送为一体的便民服务站&#xff0c;为社区…

go之web框架gin

介绍 Gin 是一个用 Go (Golang) 编写的 Web 框架。 它具有类似 martini 的 API&#xff0c;性能要好得多&#xff0c;多亏了 httprouter&#xff0c;速度提高了 40 倍。 如果您需要性能和良好的生产力&#xff0c;您一定会喜欢 Gin。 安装 go get -u github.com/gin-gonic/g…

【测试篇】接口测试

接口测试&#xff0c;可以用可视化工具 postman。 如何做接口测试&#xff1f;&#xff1f; 我们可以先在浏览器中随机进入一个网页&#xff0c;打开开发者工具&#xff08;F12&#xff09;。 随便找一个接口Copy–>Copy as cURL(bash) 打开postman 复制地址 进行发送。 …

R统计实战:详解机器学习Adaboost的操作步骤与应用

一、引言 机器学习是人工智能的核心领域之一&#xff0c;其重要性体现在其能够从数据中自动学习并改进的能力上。在实际问题中&#xff0c;机器学习已经被广泛应用于各个领域&#xff0c;包括但不限于金融、医疗、电子商务、社交网络等。例如&#xff0c;在金融领域&#xff0c…

Java SpringBoot中优雅地判断一个对象是否为空

在Java中&#xff0c;可以使用以下方法优雅地判断一个对象是否为空&#xff1a; 使用Objects.isNull()方法判断对象是否为空&#xff1a; import java.util.Objects;if (Objects.isNull(obj)) {// obj为空的处理逻辑 }使用Optional类优雅地处理可能为空的对象&#xff1a; impo…

Node.js知识点总结:从入门到入土

Node.js知识点总结&#xff1a;从入门到入土 node.js概念说明与相关知识储备了解基本概念&#xff1a;JavaScript基础能力&#xff1a;安装和设置Node.js环境&#xff1a;核心能力模块&#xff1a;重点能力-异步编程&#xff1a;使用npm管理依赖&#xff1a;构建Web应用&#x…

安全架构设计理论与实践相关知识总结

一、安全架构概述 常见信息威胁介绍&#xff1a; 1. 信息泄露&#xff1a;信息被泄露或透露给某个非授权实体 2. 破坏信息完整性&#xff1a;数据被非授权地进行增删改查货破坏而受到损失 3. 拒绝服务&#xff1a;对信息会其他资源的合法访问被无条件的组织 4. 非法使用&#x…

【数据结构】顺序表的动态分配(步骤代码详解)

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;数据结构 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

某盾滑块拼图验证码增强版

介绍 提示&#xff1a;文章仅供交流学习&#xff0c;严禁用于非法用途&#xff0c;如有不当可联系本人删除 最近某盾新推出了&#xff0c;滑块拼图验证码&#xff0c;如下图所示&#xff0c;这篇文章介绍怎么识别滑块距离相关。 参数attrs 通过GET请求获取的参数attrs, 决…

Python 与机器学习,在服务器使用过程中,常用的 Linux 命令包括哪些?

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 本博客旨在分享在实际开发过程中&#xff0c;开发者需要了解并熟练运用的 Linux 操作系统常用命令。Linux 作为一种操作系统&#xff0c;与 Windows 或 MacOS 并驾齐驱&#xff0c;尤其在服务器和开发环…

时序分解 | Matlab实现GSWOA-VMD改进鲸鱼优化算法优化变分模态分解时间序列信号分解

时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解 目录 时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现GSWOA-VMD改进鲸鱼优化算法优化变分模态分解时间序…

单元测试——Junit (断言、常用注解)

单元测试 Junit单元测试框架 使用 断言测试 使用Assert.assertEquals(message, 预期值, 实际值); 这段代码是用于在测试中验证某个方法的返回值是否符合预期。其中&#xff0c;"方法内部有bug"是用于在断言失败时显示的提示信息。4是预期的返回值&#xff0c;index…

买了云服务器不会用?教你使用京东云!

1. 前言 最近出现了许多云服务器的活动&#xff0c;由于活动期间优惠的价格、极高的性价比&#xff0c;因此&#xff0c;无论是企业&#xff0c;还是私人用户&#xff1b;无论是云服务器玩的溜的老手&#xff0c;还是新手小白都直接冲了起来&#xff01;但是对于一些还未使用过…

数字未来:探索 Web3 的革命性潜力

在当今数字化的时代&#xff0c;Web3作为互联网的新兴范式正逐渐崭露头角&#xff0c;引发了广泛的关注和探讨。本文将深入探索数字未来中Web3所蕴含的革命性潜力&#xff0c;探讨其对社会、经济和技术的深远影响。 1. Web3&#xff1a;数字世界的下一个阶段 Web3是一个正在崛…

AWS入门实践-S3对象存储的基本用法

AWS S3(Simple Storage Service)是亚马逊云服务提供的一种高度可扩展、安全且经济高效的对象存储服务。它允许用户在任何位置存储和检索任意数量的数据,非常适合存储和分发静态文件、备份数据以及作为数据湖的存储层。 一、S3上传和下载文件&#xff08;AWS门户&#xff09; …