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.hqwc.cn/news/587880.html

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

相关文章

PEFT-LISA

LISA是LoRA的简化版&#xff0c;但其抓住了LoRA微调的核心&#xff0c;即LoRA侧重更新LLM的底层embedding和顶层head。 根据上述现象&#xff0c;LISA提出两点改进&#xff1a; 始终更新LLM的底层embedding和顶层head随机更新中间层的hidden state 实验结果 显存占用 毕竟模型…

QA测试开发工程师面试题满分问答5: 内存溢出和内存泄漏问题

概念阐述 内存溢出&#xff08;Memory Overflow&#xff09;和内存泄漏&#xff08;Memory Leak&#xff09;是与计算机程序中的内存管理相关的问题&#xff0c;它们描述了不同的情况。 内存溢出是指程序在申请内存时&#xff0c;要求的内存超出了系统所能提供的可用内存资源…

el-table实现表格内部横向拖拽效果

2024.4.2今天我学习了如何对el-table表格组件实现内部横向拖拽的效果&#xff0c;效果&#xff1a; 代码如下&#xff1a; 一、创建utils/底下文件 const crosswise_drag_table function (Vue){// 全局添加table左右拖动效果的指令Vue.directive(tableMove, {bind: function…

【信贷后台管理系统之axios的二次封装(四)】

文章目录 一、axios的二次封装二、配置后端接口地址三、登录接口api联调四、贷款申请接口api编写联调 一、axios的二次封装 示例&#xff1a;pandas 是基于NumPy 的一种工具&#xff0c;该工具是为了解决数据分析任务而创建的。 src下新建utils,新建request.js用来封装axios 控…

Vue-Next-Admin:适配手机、平板、PC的开源后台管理模板

摘要&#xff1a;随着移动设备和PC的普及&#xff0c;为了满足不同设备的需求&#xff0c;开发一个能够自适应手机、平板和PC的后台管理系统变得至关重要。本文将介绍一个基于Vue3.x、Typescript、Vite、Element Plus等技术的开源模板库——Vue-Next-Admin&#xff0c;帮助开发…

Java多线程实战-从零手搓一个简易线程池(三)线程工厂,核心线程与非核心线程逻辑实现

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️本系列源码仓库&#xff1a;多线程并发编程学习的多个代码片段(github) &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正…

flink on yarn

前言 Apache Flink&#xff0c;作为大数据处理领域的璀璨明星&#xff0c;以其独特的流处理和批处理一体化模型&#xff0c;成为众多企业和开发者的首选。它不仅能够在处理无界数据流时展现出卓越的实时性能&#xff0c;还能在有界数据批处理上达到高效稳定的效果。本文将简要…

网络协议学习——HTTPS

目录 ​编辑 一&#xff0c;认识HTTPS 二&#xff0c;加密方式 1&#xff0c;对称式加密 2&#xff0c;非对称式的加密 3&#xff0c;数据指纹&#xff08;数据摘要&#xff09; 4&#xff0c;数据签名 三&#xff0c;HTTPS的工作原理 实现方式 数字证书 一&#xff0c…

pygame--坦克大战(二)

加载敌方坦克 敌方坦克的方向是随机的&#xff0c;使用随机数生成。 初始化敌方坦克。 class EnemyTank(Tank):def __init__(self,left,top,speed):self.images {U: pygame.image.load(img/enemy1U.gif),D: pygame.image.load(img/enemy1D.gif),L: pygame.image.load(img/e…

Golang学习系列1-pprof性能调优

1. pprof 简述 一位亦师亦友的话让我记忆犹新&#xff0c;他说“学习一个新事务&#xff0c;应该从三个方面入手what,why,how;且三者的重要程度应该是递减”。所以在本文的第一部分先叙述下pprof的what & why。 1.1 What&#xff1f; pprof是golang自身提供的一种性能分…

大模型量化技术-GPTQ

大模型量化技术-GPTQ 2022年,Frantar等人发表了论文 GPTQ:Accurate Post-Training Quantization for Generative Pre-trained Transformers。 这篇论文详细介绍了一种训练后量化算法,适用于所有通用的预训练 Transformer模型,同时只有微小的性能下降。 GPTQ算法需要通过…

剑指offer打卡 JZ6 从尾到头打印链表

在牛客网刷的&#xff0c;还是跟leetcode一样非acm模式&#xff0c;由于急着暑期实习题量不固定&#xff0c;八股算法轮刷 打卡内容偏个人笔记&#xff0c;本人水平一般(代码随想录稀里糊涂刷了一遍)&#xff0c;从小白开始分析(甚至会分析语法)&#xff0c;尽量一题多解深入探…