nums.length&nums[i]

private void ex01()
{
int[] nums = { 8, 10, 3, 4, 12, 200 };

for (int i = nums.length - 1; i >= 1; i--)
{
System.out.println(nums.length);
if (i == 1)
{
System.out.println(nums[i]);
}
else
{
nums[i - 1] = nums[i];
System.out.format("%d,", nums[i]);
}
}

}

the output above are: 200, 200, 200, 200, 200

you should understand nums.length start counting at 1, nums[i] start counting at 0

时间: 2024-10-11 03:01:40

nums.length&nums[i]的相关文章

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]

class Solution { public: vector twoSum(vector& nums, int target) { vector temp; for(int i=0;i<nums.size();i++) { for(int j=i+1;j<nums.size();j++) { if(i!=j) { if(nums[i]+nums[j]==target) { temp.push_back(i); temp.push_back(j); break; } } } } ret

二分查找总结

最近刷leetcode和lintcode,做到二分查找的部分,发现其实这种类型的题目很有规律,题目大致的分为以下几类: 1.最基础的二分查找题目,在一个有序的数组当中查找某个数,如果找到,则返回这个数在数组中的下标,如果没有找到就返回-1或者是它将会被按顺序插入的位置.这种题目继续进阶一下就是在有序数组中查找元素的上下限.继续做可以求两个区间的交集. 2.旋转数组问题,就是将一个有序数组进行旋转,然后在数组中查找某个值,其中分为数组中有重复元素和没有重复元素两种情况. 3.在杨氏矩阵中利用二分查

Leet Code OJ 189. Rotate Array [Difficulty: Easy]

题目: Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4]. Note: Try to come up as many solutions as you can, there are at least 3 different ways to solve thi

lintcode 中等题:next permutation下一个排列

题目 下一个排列 给定一个整数数组来表示排列,找出其之后的一个排列. 样例 给出排列[1,3,2,3],其下一个排列是[1,3,3,2] 给出排列[4,3,2,1],其下一个排列是[1,2,3,4] 注意 排列中可能包含重复的整数 解题 和上一题求上一个排列应该很类似 1.对这个数,先从右到左找到递增序列的前一个位置,peakInd 2.若peakInd = -1 这个数直接逆序就是答案了 3.peakInd>= 0 peakInd这个位置的所,和 peakInd 到nums.size() -1

LeetCode Next Permutation

原题链接在这里:https://leetcode.com/problems/next-permutation/ 参考了这篇博文:http://blog.csdn.net/linhuanmars/article/details/20434115 分两种情况: 1. 从前往后一路数值一直变小,如"654321", 返回的应该是"123456"也就是整个反转 2. 数值没有一直变下,如"236541", 此时从后往前找到第一个数值下降的点3<6,

[leedcode 15] 3Sum

public class Solution { public List<List<Integer>> threeSum(int[] nums) { //本题需要对重复数字进行考虑,主要涉及以下几处: //1.外层循环时,需要与前一个数进行比较,如果重复,使用 if 和continue //2.求target时,注意重复数字.使用while //多举例子 List<List<Integer>> res=new ArrayList<List<Inte

[leedcode]Summary Ranges

双指针思路,循环时,声明一个变量保存范围起始的下标 注意:如何在数组只有一个元素,还有遍历到最后一个元素的时候,去更新结果集. public class Solution { public List<String> summaryRanges(int[] nums) { List<String> res=new ArrayList<String>(); int start=0; for(int i=1;i<=nums.length;i++){ if(i==nums

Java for LeetCode 041 First Missing Positive

Given an unsorted integer array, find the first missing positive integer. For example, Given [1,2,0] return 3, and [3,4,-1,1] return 2. Your algorithm should run in O(n) time and uses constant space. 解题思路一: 刚看到题目的时候感觉无从下手,后来仔细理解题意,需要找到first missing p

lintcode 最大子数组III

题目描述 给定一个整数数组和一个整数 k,找出 k 个不重叠子数组使得它们的和最大.每个子数组的数字在数组中的位置应该是连续的. 返回最大的和. 注意事项 子数组最少包含一个数 样例 给出数组 [-1,4,-2,3,-2,3] 以及 k = 2,返回 8 思路 dp[i][j] = max(dp[x][j-1]+maxs[x+1][i]) dp[i][j] 表示前 i 个数中 j 个子数组的最大值, maxs[i][j] 表示 第i个数到第j个数中最大子数组的和. 代码 public class