2024.6.6学习java算法

news/2025/1/20 2:00:37/文章来源:https://www.cnblogs.com/vastjoy/p/18237523

java---
对象赋值:
新建类class person包含String name和int age两个属性
在main方法中new person xiaoming,name为"xiaoming",age为19。
new person tiedan,tiedan=xiaoming。
输出tiedan的属性得到"xiaoming,19"
tiedan.name="tiedan"
输出xiaoming的属性得到"tiedan,19"
解释:tiedan和xiaoming两个对象在main的栈帧中储存的是两个地址,指向堆中new出的一片内存,在堆中储存着对象的属性。
tiedan=xiaoming这个语句相当于将xiaoming指向的地址赋值给了tiedan,二者指向同一地址(相当于数组赋值,实际是引用)由此,由于tiedan和xiaoming均指向一个地址,修改tiedan.name后再输出xiaoming.name发现也被修改了。

算法---
1.洛谷P1177 【模板】排序:
将读入的 N 个数从小到大排序后输出。
输入样例:
5
4 2 4 5 1
输出样例:
1 2 4 4 5

解答:
使用stl中的sort函数,读入数据储存在int ans[100010],sort(ans,ans+N)
我们设我们排序的数组为 a,排序区间为 [l,r),且从小到大排序。则调用方法为:
sort(a + l, a + r);
如果想改变排序顺序,重载cmp函数即可
bool cmp(int a,int b){
return a>b;
}(大于号就是从大到小,小于号就是默认,从小到大)
快排复杂度

2.洛谷P1923 【深基9.例4】求第 k 小的数:
输入样例:
5 1
4 3 2 1 5
输出样例:
2

解答:
数据范围是n<5000000,利用快排算法的二分属性,可以在时间复杂度O(nlogn)下实现
int x[5000100]储存输入数据,找第k小

void qsort(int l,int r){ int i=l,j=r,mid=x[(l+r)/2];do{while(x[j]>mid) j--;while(x[i]<mid) i++;if(i<=j){swap(x[i],x[j]);i++;j--;}}while(i<=j);//至此数组被划分为l<=j<=i<=rif(k<=j) qsort(l,j);else if(k>=i) qsort(i,r);else {cout>>x[j+1];}
}

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

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

相关文章

函数递归调用栈process

ret2text n步过 s步进 EIP所指的位置即为当前程序运行的位置gdb的栈地址顺序上高下底 s起始地址与ebp为0x18-0x08=0x10=16*bA 整数打包为字节 shellcode 我们现在做的很多题目,都是堆栈不可执行,如果要使堆栈可执行,就要用到修改内存属性的函数,这属于比较高级的利用方式,…

pwntool类型转换

pwntools:类型转换 编码是什么?编码就是把一个字符用一个二进制来表示。 以ASCII编码为例,它规定1个字节8个比特位代表1个字符的编码,也就是"00000000"这么宽,一个一个字节的解读。例如:01000001表示大写字母A,有时我们会“偷懒"的用65这个十进制来表示A…

git-jenkins阶段01 DevOps介绍, 版本控制系统, Git的安装与应用(内容对比,历史记录,恢复,分支)

1.DevOps介绍铁三角 开发 测试 运维老板的想法 产品经理的构造 开发的代码实现 测试的功能测试 运维平台构建 代码的上线开发 测试 变化 代码的更新 运维 稳定 网站能够正常运行下去2. 版本控制系统vcs 记录文件的所有的历史变化 随时…

mysql阶段04 连接工具, 连接方式, 启动关闭mysql

一、mysql连接管理 1.连接工具 1)mysql自带的连接命令 mysql#常见用于连接的参数: -u: 指定用户 mysql -uroot -p: 指定密码 mysql -uroot -p123 -h: 指定连接的主机 mysql -uroot -p123 -h10.0.0.51 -P: 指定端口 mysql -uroot …

OOP4-6次作业

OOP4-6次作业 一.前言: 1.第四次PTA: ①题目理解: 延续前面的四次PTA,只不过在此基础上进行更全面的处理,新增了其他的一些点。例如增加了多选题,的输入方式,这样,也就增加了多选题的输出方式。增加了一些填空题,对其部分正确的判断变成了一个难点,也增加了其输出的难…

第4到6次PTA大作业课后分析与反思 BLOG

前言 第4到6次大作业分为两个部分,第4次大作业是对上三次大作业的最终迭代,第5到第6次是新的大作业,是关于电路的迭代。 设计与分析 第四次大作业题目: 设计实现答题程序,模拟一个小型的测试,要求输入题目信息、试卷信息、答题信息、学生信息、删除题目信息,根据输入题目…

ch2 信息与行为

信息与行为重点(from 裴雷)阿莱悖论(独立性) 冯诺依曼公式 贝叶斯信念 信息搜寻预期收益(大题)理性人 经济理性的两个基本假定是:自利性和极大化原则自利性:在行为选择中个体总是倾向选择对自身最具有优势的选择方案 极大化原则,也可以包括极小化原则,指个体对最大幸福…

关于第四到六次PTA作业总结

一.第四到六次PTA作业的分析 1.第四次PTA作业的分析 (1). 理解题目的需求 在编程之前,准确理解题目需求至关重要。本题中,输入格式和输出格式的细节非常多,包括各种异常情况的处理,这些都需要仔细阅读题目描述,确保理解了每一个细节。在实际操作中,我采取了以下措施: …

WebLogic XMLDecoder反序列化漏洞

有关WebLogic的XMLDecoder反序列化漏洞包括CVE-2017-3506、CVE-2017-10271、CVE-2019-2725、CVE-2019-2729等,其漏洞原理相似,差异主要在于出问题的包、黑名单过滤的标签。目录前言XMLDecoder概述XMLDecoder反序列化漏洞漏洞复现 前言 上篇复现了T3反序列化漏洞,XMLDecoder反…