算法题
Posted nichoo的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法题相关的知识,希望对你有一定的参考价值。
2016-12-04
纪念解决第一个算法题:TWO SUM
第一种解法:
public class twosum2 { public static void main(String[] args) { // TODO 自动生成的方法存根 twosum2 twosum = new twosum2(); //实例化这个类,第一个是类名,空格后面是实例化的类名 int[] nums = new int[4]; //输入数组 int target = 6; nums[0] = 1; nums[1] = 3; nums[2] = 4; nums[3] = 5; twosum.Twosum(nums, target); //调用方法,第一个是实例化的类名,。后面是调用函数名 int[] result = twosum.Twosum(nums, target); //使用调用方法的返回值 for(int i = 0; i < twosum.Twosum(nums, target).length; ++i){ System.out.println(result[i]); } } //以上是测试部分,以下是算法部分 public int[] Twosum(int[] nums, int target) { int[] result = 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) { result[0] = i + 1; result[1] = j + 1; break; } } } return result; } }
第二种解法:
public class Solution { /* * @param numbers : An array of Integer * @param target : target = numbers[index1] + numbers[index2] * @return : [index1 + 1, index2 + 1] (index1 < index2) */ public int[] twoSum(int[] numbers, int target) { HashMap<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < numbers.length; i++) { if (map.get(numbers[i]) != null) { int[] result = {map.get(numbers[i]), i}; return result; } map.put(target - numbers[i], i); } int[] result = {}; return result; } }
以上是关于算法题的主要内容,如果未能解决你的问题,请参考以下文章
有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]
片段(Java) | 机试题+算法思路+考点+代码解析 2023
数据挖掘2022年2023届秋招Kanaries雾角科技算法岗 笔试题
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段