LintCode问题答案(持续更新)-简单

LintCode的问题答案

目录

  • 1. A + B 问题
  • 13. 字符串查找
  • 14. 二分查找
  • 39. 恢复旋转排序数组

1. A + B 问题

给出两个整数 aa 和 bb , 求他们的和。

public class Solution {
     
    /**
     * @param a: An integer
     * @param b: An integer
     * @return: The sum of a and b 
     */
    public int aplusb(int a, int b) {
     
        // write your code here
		return a+b;
    }
}

13. 字符串查找

对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。

public class Solution {
     
	/**
	 * @param source:
	 * @param target:
	 * @return: return the index
	 */
	public int strStr(String source, String target) {
     
		// Write your code here
		return source.indexOf(target);
	}
}

14. 二分查找

给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。

import java.util.Arrays;

public class Solution {
     

	/**
	 * @param nums:   The integer array.
	 * @param target: Target to find.
	 * @return: The first position of target. Position starts from 0.
	 */
	public int binarySearch(int[] nums, int target) {
     
		// write your code here
		int index = Arrays.binarySearch(nums, target);
		if (index > 0) {
     
			while (nums[index - 1] == target) {
     
				index--;
			}
		} else if (index < -1) {
     
			index = -1;
		}
		return index;
	}
}

39. 恢复旋转排序数组

给定一个旋转排序数组,在原地恢复其排序。(升序)

public class Solution {
     
    /**
     * @param nums: An integer array
     * @return: nothing
     */
    public void recoverRotatedSortedArray(List<Integer> nums) {
     
        // write your code here
        Collections.sort(nums);
    }
}

你可能感兴趣的:(算法,算法)