java:编程比赛中有用的方法整理(一)数组

我曾经参加过几次编程比赛,但是当时用的是c语言,现在学习了java,打算专攻java组,故以此整理。

数组无论在哪里都必不可少。

一.数组的拷贝:

使用Arrays类的copyOf方法:

1.将一个数组中的所有值拷贝到另一个里面:

int[] copiedLuckyNumber=Arrays.copyOf(luckyNumbers,luckyNumbers.length);

2.数组的扩容:

luckyNumbers=Arrays.copyOf(luckyNumbers,2*luckyNumbers.length);

如果数组元素是数值型的,那么多余元素将被赋值为0,如果数组元素是布尔型的,则将赋值为false,相反如果长度小于原始数组,只拷贝最前面的数据元素。

有了这方法就不用写个循环就能得到原函数了。

3.数组的截取:

luckyNumbers=Arrays.copyOfRange(luckyNumbers,int start,int end);

截取数组中的一段,start:起始下标(包含这个值)end:(不包含这个值)如果end超过数组的size多余的位置为0或者false

二.数组排序:

最重要的是数组里面的排序(终于可以不用写快速排序了)

Arrays.sort(yourArrays);

这个sort方法使用了优化的快速排序,效率比较高。

排序后数组中的值会按照从小到大。

三.数组的查找

数组中自带了二分搜索的方法

static int binarySearch(type[] a,type v);
static int binarySearch(type[] a,int start,int end,type v);

参数:a 类型为基本类型

   start:起始下标(包含这个值)

   end:(不包含这个值)

   v 同a的数据元素类型相同的值

 四.不规则数组(略微不那么重要)

比如:

1

1  1

1  2  1

1  3  3  1

1  4  6  4  1

1  5  10  10  5  1

先分配行:

int[][] odds=new int[MAX+1][]

分配这些行:

for(int n=0;n<MAX;n++)

  odds[n]=new int[n+1];

原文地址:https://www.cnblogs.com/lzy321/p/10371662.html

时间: 2024-11-06 10:00:26

java:编程比赛中有用的方法整理(一)数组的相关文章

向Java枚举类型中添加新方法

除了不能继承enum之外,可将其看做一个常规类.甚至可以有main方法. 注意:必须先定义enum实例,实例的最后有一个分号. 下面是一个例子:返回对实例自身的描述,而非默认的toString返回枚举实例的名字. public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String nam

Java编程实现中英混合字符串数组按首字母排序的方法

在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序.例如: ? 1 2 3 4 5 6 7 String[] arrays = new String[] { "gyu", "sdf", "zf", "大同", "收到", "地方", "三等分", "的人", "反对高铁"

JAVA编程思想中总结的与C++的区别

(1) 最大的障碍在于速度:解释过的Java要比C的执行速度慢上约20倍.无论什么都不能阻止Java语言进行编译.写作本书的时候,刚刚出现了一些准实时编译器,它们能显著加快速度.当然,我们完全有理由认为会出现适用于更多流行平台的纯固有编译器,但假若没有那些编译器,由于速度的限制,必须有些问题是Java不能解决的. (2) 和C++一样,Java也提供了两种类型的注释.(3) 所有东西都必须置入一个类.不存在全局函数或者全局数据.如果想获得与全局函数等价的功能,可考虑将static方法和stati

java 重写Object中的hashCode方法-----转载

1 hashCode()用于返回调用该方法的对象的散列码值,此方法将返回整数形式的散列码值. 2 在object类中,hashcode()方法是本地方法,返回的是对象的地址值,而object类中的equals()方法比较的也是两个对象的地址 值,如果equals()相等,说明两个对象地址值也相等,当然hashcode()也就相等了.一旦一个类重写equals()方法,通常也会重写 hashCode()方法. 3 4 下面是重写hashCode()方法的约定的内容,来自Object规范[JavaS

java.lang.Math中的基本方法

java.lang.Math类提供的方法都是static的,“静态引入 ”使得不必每次在调用类方法时都在方法前写上类名:             import static java.lang.Math.*; 这样在调用Math的方法时就能够简单地写出方法名,比如:             cos(radians); ---------------------------------------------------------- 1.基本方法: abs, max, min, ceil, fl

java.util.ComparableTimSort中的sort()方法简单分析

TimSort算法是一种起源于归并排序和插入排序的混合排序算法,设计初衷是为了在真实世界中的各种数据中能够有较好的性能. 该算法最初是由Tim Peters于2002年在Python语言中提出的. TimSort 是一个归并排序做了大量优化的版本号. 对归并排序排在已经反向排好序的输入时表现O(n2)的特点做了特别优化.对已经正向排好序的输入降低回溯.对两种情况混合(一会升序.一会降序)的输入处理比較好. 在jdk1.7之后.Arrays类中的sort方法有一个分支推断,当LegacyMerge

java基础----&gt;String中的split方法的原理

这里面主要介绍一下关于String类中的split方法的使用以及原理. split函数的说明 split函数java docs的说明: When there is a positive-width match at the beginning of this string then an empty leading substring is included at the beginning of the resulting array.A zero-width match at the beg

【java】开发中常用字符串方法

java字符串的功能可以说非常强大, 它的每一种方法也都很有用. java字符串中常用的有两种字符串类, 分别是String类和StringBuffer类. Sting类 String类的对象是不可变的. 创建String String() String(String str) String(char value[]) //用字符数组生成一个串对象 String(char value[], int offset, int count) //用字符数组value的offset位开始的count个字

Java和JavaScript中使用Json方法大全

林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka   摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 它基于ECMAScript的一个子集. JSON採用全然独立于语言的文本格式,可是也使用了相似于C语言家族的习惯(包含C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写.同一时候也易于机器解析和生成