C#算法刷题
C#算法刷题。为了纪念LeetCode算法的作者,现将作者的算法题目用C#的语言用自己的方式把它敲出来。欢迎友友们提供更优的解题思路。谢谢
拿着手机找手机
这个作者很懒,什么都没留下…
展开
-
C# async await使用方法
【代码】C# async await使用方法。原创 2023-06-28 15:13:30 · 247 阅读 · 0 评论 -
数组_只出现一次的数字
问题: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 方法: public int SingleNumber(int[] nums) { int reduce = 0; for (int i = 0; i < nums.Length; i++) { reduce ^=原创 2021-12-28 01:36:26 · 198 阅读 · 0 评论 -
数组_存在重复元素
问题: 给定一个整数数组,判断是否存在重复元素。 如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。 方法: public bool ContainsDuplicate(int[] nums) { for (int i = 0; i < nums.Length; i++) { for (int j = i + 1; j < nums.Length; j++) { if (nums[i] == nums[j]) { return true;原创 2021-12-28 01:23:37 · 199 阅读 · 0 评论 -
数组_删除排序数组中的重复项
问题: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 方法: //这里说的重复是相邻重复 {1,2,1} 中的1不算重复 public int RemoveDuplicates(int[] A) { //边界条件判断 if (A == null || A.Length == 0) { return 0; } int left.原创 2021-12-27 13:16:30 · 437 阅读 · 0 评论 -
数组_数组的旋转问题
问题: 给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。求出数组旋转以后的数组。 方法: /// <summary> /// 数组的旋转的问题 /// </summary> /// <param name="nums">原数组</param> /// <param name="k">旋转的次数</param> /// <returns>返回旋转以后的数组&原创 2021-12-27 02:00:58 · 106 阅读 · 0 评论