今天开始重新复习Java,完成了leetcode的第一题。
1.算法:
给定一个数组和目标值,找出相加等于目标值的数组元素的下标。
数组[2,7,11,15];
target:9;
返回:[0,1];
import java.util.Vector;
class Solution {
public int[] twoSum(int[] nums, int target) {
Vector in=new Vector();
int []inde =new int[2];
for(int i=0;i<nums.length;i++)
for(int j=i+1;j<nums.length;j++)
class Solution {
public int[] twoSum(int[] nums, int target) {
Vector in=new Vector();
int []inde =new int[2];
for(int i=0;i<nums.length;i++)
for(int j=i+1;j<nums.length;j++)
{
if(nums[i]+nums[j]==target)
{
if(!in.contains(i))
in.add(i);
if(!in.contains(j))
in.add(j);
}
}
Integer[] ind=in.toArray(new Integer[in.size()]);
for(int k=0;k<ind.length;k++)
{
inde[k]=ind[k].intValue();
}
return inde;
if(nums[i]+nums[j]==target)
{
if(!in.contains(i))
in.add(i);
if(!in.contains(j))
in.add(j);
}
}
Integer[] ind=in.toArray(new Integer[in.size()]);
for(int k=0;k<ind.length;k++)
{
inde[k]=ind[k].intValue();
}
return inde;
}
2.Vector的基本定义,声明,申请空间及基本操作
Vector实现了Java中动态数组的功能,基本原理是先分配固定的空间,当空间不够时再申请新的空间。
容量是指向量能够容纳的元素个数,而长度则是指真是元素的真实个数,容量增量是指申请新空间的大小-通常是非负整数(0代表翻倍);
声明和初始化:Vector <Object> vo=new Vector<Object> (); 不使用参数默认初始容量为10,增量为0;一个参数代表初始容量,增量默认为0;两个参数分别代表初始容量和增量;
添加元素:
boolean add(E o)和void addElement(E o)功能相似,都是在向量尾添加元素;
而void add(int i,E o)和void insertElementAt(E o,int i)功能相同,都是插入,两个参数一个是插入位置,一个是插入对象,顺序相反。
修改元素:
E set(int i,E o)和void seElementAt(E o,int i)
删除元素:
void clear()和void removeAllElements()都是清空;E remove(int i)和void removeElementAt(int i)作用移除固定位置元素;
boolean remove(O o),boolean removeElement(O o)删除第一个与o相同的元素。
查询元素:
boolean cotains(O o)查询Vector是否包含o;int IndexOf(O o)查询o相等元素的第一次出现的位置,如找不到返回-1;int lastIndexOf(O e)查找最后一个并返回下标,否则返回-1;
而int IndexOf(O o,int i) 和 int lastIndexOf(O e,int i)代表大于等于i的第一个元素的下标以及小于等于i的最后一个;
E elementAt(int i)和E get(int i)返回下标为i的元素;
E firstElement()和E lastElement()返回第一个和最后一个元素。
其他操作:int capacity()返回容量,int size()返回长度,boolean isEmpty()判断是否为空,void trimToSize()是容量变为长度。
迭代器:
方便的循环。
示例
Vector <String> vo=new Vector<String> ();
//Vector的赋值
Iterator<String> it=vs.Iterator();
//此时it指向第1个元素之前,Vector不能再发生改变,否则就会抛出异常java.util.ConcurrentModificationException
while(it.hasNext())
{System.out.println(it.next());}
3.一些转换
3.一些转换
Vector与数组的转换:
Integer[] ind=in.toArray(new Integer[in.size()]); 其中in是Vector对象,ind为Integer数组;
Integer与int的转换:
inde[k]=ind[k].intValue();