(三)一个将数组中特定数字放到最后的算法

 

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

==================================我是华丽的分隔符,我上面是题目,下面是代码==================================

以下算法的主要逻辑是:

一、将数组中为“0”的取出

二、将“0”后面的数向前移一位

三、一共有几个“0”,就在数组后面加几个“0”

 

public class Solution {
	public void moveZeroes(int[] nums) {
		int i = 0;
		for (int j = 0; j < nums.length; j++) {
			if (nums[j] != 0) {
				nums[i] = nums[j];
				i++;
			}
		}
		for (int k = i; k < nums.length; k++) {
			nums[k] = 0;
		}
	}
}

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 将一个对象入HashMap中的过程如下: 1. 创建一个HashMap对象,或者使用已有的HashMap对象。 2. 创建要入HashMap中的对象。 3. 调用HashMap的put方法,将对象作为键(key)和(value)同时入HashMap中。 例如,下面是一个将字符串对象入HashMap中的示例代码: HashMap<String, String> map = new HashMap<String, String>(); map.put("key1", "value1"); map.put("key2", "value2"); 在这个例子中,"key1"和"key2"是字符串对象,分别作为键(key)入了HashMap中,而"value1"和"value2"分别作为(value)入了HashMap中。 需要注意的是,在Java中,HashMap是一种泛型类型,因此在创建HashMap对象时需要指定键(key)和(value)的类型。在上面的例子中,我们指定了键(key)和(value)都是字符串类型。 ### 回答2: 将一个对象入HashMap的过程分为以下几个步骤: 1. 首先,计算该对象的哈希码。哈希码是通过对象的hashCode()方法获得的一个整型,用于确定该对象在HashMap中的位置。 2. 根据哈希码计算对象在HashMap中的存位置。HashMap内部会将所有的键对存一个由数组实现的桶(bucket)中,因此需要根据哈希码计算对象在数组中的索引位置。 3. 在数组对应索引的位置上置对象。如果该位置已经有其他对象存在,可能会发生哈希冲突。HashMap采用链表或红黑树等数据结构来解决冲突,将新的对象插入到链表或红黑树上。 4. 如果哈希冲突解决后,HashMap的size属性会自动加1,表示元素数量增加了。 需要注意的是,HashMap中的键对是以键(Key)和(Value)的形式存在的。在置对象时,需要指定键和的对应关系。HashMap通过键的哈希码来确定存取位置,并通过键的equals方法来判断键对是否相同。 当要从HashMap中获取对象时,也需要提供键,HashMap会根据键的哈希码找到对应的位置,并在该位置上查找与给定键相等的键对。 总的来说,将一个对象入HashMap中,首先通过哈希码确定对象在数组中的位置,然后解决哈希冲突并置对象。这样就完成了将对象入HashMap的过程。 ### 回答3: 将一个对象入HashMap的过程如下: 1. 首先,创建一个HashMap对象。HashMap是Java中的一个集合类,用于存储键对。 2. 接下来,创建该对象的实例,并将其存储在一个变量中,例如: ``` HashMap<String, String> hashMap = new HashMap<>(); ``` 3. 创建一个要存储的对象,并为其分配内存空间。可以使用new关键字来创建对象,例如: ``` Object obj = new Object(); ``` 4. 调用HashMap对象的put()方法,将对象存储在HashMap中。put()方法接收两个参数:键和。键是一个唯一标识对象的,而则是要存储的对象本身。例如: ``` hashMap.put("key1", obj); ``` 5. 在put()方法内部,HashMap会根据键的hashcode和散列算法找到存储位置。每个键都会被映射到一个特定的桶,从而使得键和能够以键对的形式被存储在HashMap内部的桶中。 6. 如果该键已经存在于HashMap中,则新的对象将会替换掉该键对应的旧对象。 7. 最后,对象成功存储在HashMap中,并可以通过键进行检索。可以使用get()方法,通过键来获取存储在HashMap中的对象。例如: ``` Object retrievedObj = hashMap.get("key1"); ``` 通过以上步骤,一个对象就成功地存储在HashMap中,并可以通过键进行检索和访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值