java的数组提问,关于数组的

Java编程题目-4:数组操作问题 - 博客频道 - CSDN.NET
记录下菜鸡如我的经验总结和部分吐槽!
分类:Java编程
在贴吧看到一个po出来的笔试题,是关于数组操作的,感觉跟当初大学考试题似的,如下:
一个长度为n的整型数组,处理后将奇数在前,偶数在后,请编写个程序,要求空间复杂度为常数,时间复杂度为O(n)。
最先考虑到的思路就是定义两个变量:begin和end,分别从数组两头开始遍历(条件就是begin
public static int[] getNewArr(int[] arr){
int len = arr.
int begin = 0;
int end = len-1;
int temp = 0;
if(len&=0){
return null;
while(begin&end){
if(arr[begin]%2==0){
temp = arr[begin];
if(arr[end]%2!=0){
arr[begin] = arr[end];
arr[end] =
写完之后,看一下空间复杂度,使用了temp用来交换位置,空间复杂度:S(1);时间复杂度:O(n)。循环操作的代码就是注释星号的代码,在最坏的情况下也就是要重复执行n-1次,因此时间复杂度为O(n)。
为什么有些时候,有些问题,我们感觉并不难,很好处理或者解决,但是当我们去写的时候却发现不好实现,或者没有了思路,这也许就是因为动手的次数太少,缺乏一种对于简单算法的理解和认识 。
排名:千里之外
(15)(2)(4)(1)(0)(0)匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。Java(37)
Java创建数组的三种方法
import java.util.A
public class Sum
public static void main(String[] args){
int vec[] = new int[]{1, 5, 3};// 第一种方法
int vec[] = { 37, 47, 23 };// 第二种方法
int vec[] = new int[3];
for(int i=0;i&3;i++)
vec[i]=i+1;//第三种方法
Java数组元素个数
在网页编程里&length代表数组实际的长度&而不是定义时的长度。
在JAVA里数组的length只是数组定义时的长度,
而要获取数组中实际已赋值元素个数,要循环判断,没有现成的方法。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:20911次
积分:1028
积分:1028
排名:千里之外
原创:81篇
转载:40篇
阅读:2219
阅读:1274
(7)(9)(9)(16)(9)(14)(32)(13)(5)(1)(1)(2)(1)}

我要回帖

更多关于 java 数组的长度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信