栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

001 两数之和 (C#力扣)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

001 两数之和 (C#力扣)

一、题目


二、解答

①暴力解,直接上两层循环

public class Solution {
    public int[] TwoSum(int[] nums, int target) {
        int[] result=new int[2];
        int i=0;
        int j=nums.Length-1;
        while(ii){
                if(nums[i]+nums[j]==target){
                    result[0]=i;
                    result[1]=j;
                    break;            
                }
                else{
                    j--;
                }
            }
            i++;
            j=nums.Length-1;
        }       
        return result;
    }
}

执行用时:184 ms, 在所有 C# 提交中击败了19.76%的用户

内存消耗:43 MB, 在所有 C# 提交中击败了82.94%的用户

知识点:

C#声明有固定大小的数组:(1条消息) C# 数组的五种声明方式_李天贵-Gloria的博客-CSDN博客_c#声明数组


②先将数组排序,通过两次for()循环来求解

public class Solution {
    public int[] TwoSum(int[] nums, int target) {
        int[] result=new int[2];
        int[] newArr=new int[nums.Length];
        int[] key=new int[2];
        bool find=false;

        for(int i = 0; i < nums.Length; i++){//给新数组深度赋值
            newArr[i] = nums[i];
        }
        Array.Sort(newArr);//给新数组排序

        for(int i=0,j=nums.Length-1;itarget){//两数相加若比目标值大,让大下标j--
                    j--;
                }
                else if(newArr[i]+newArr[j] 

执行用时:140 ms, 在所有 C# 提交中击败了78.73%的用户

内存消耗:43.3 MB, 在所有 C# 提交中击败了42.84%的用户

知识点:

- C#数组排序 Array.Sort()方法:

(1条消息) C# 数组Array.Sort()、List.Sort()排序使用方法_永恒星的博客-CSDN博客_c# 数组排序

- 数组赋值,需要通过深度遍历的方法,一个一个给,如果是单单的“=”,新数组仍然指向同一个地址


三、其他方法

③使用了哈希表,即C#中的Dictionary()键值对,内存换时间了属于是

public class Solution {
    public int[] TwoSum(int[] nums, int target) {
        //new一个哈希表实例
        Dictionary kv=new Dictionary();
        for(int i=0;i 

执行用时:136 ms, 在所有 C# 提交中击败了86.47%的用户

内存消耗:43.9 MB, 在所有 C# 提交中击败了11.26%的用户

(好像还不太如我自己写的两层for()哈哈哈哈哈)

知识点:

- C# Dicitionary类/哈希表/键值对:

(1条消息) C#中Dictionary的作用及用法讲解_lfw2019的博客-CSDN博客_c#中dictionary

LeetCode 1. Two Sum 两数之和,C# 哈希表 Dictionary_Fanstorm丶的博客-CSDN博客

- C#中的Dictionary.ContainsKey()方法:

C#中的Dictionary.ContainsKey()方法 - 经验笔记 (nhooo.com)

- C#中的Dictionary.Add()方法:

C# Dictionary.Add()用法及代码示例 - 纯净天空 (vimsky.com)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/868919.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号