😃 大家好,我是writer桑,这是自己整理的 C# 做题记录,方便自己学习的同时分享出来,感谢支持。
题目描述:
找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
示例:
输入:
[2, 3, 1, 0, 2, 5, 3]
输出:2 或 3
代码实现:
public class Solution
{public int FindRepeatNumber(int[] nums){HashSet set = new HashSet { }; // 声明一个空的哈希表 foreach (int num in nums){if (set.Contains(num)) // 重复包含直接返回 return num;elseset.Add(num); // 无包含则添加 }return 0;}
}
思路分析:
代码实现2:
public class Solution {public int FindRepeatNumber(int[] nums) {Array.Sort(nums); // 循环遍历for (int i = 1; i < nums.Length; i++) // 对数组进行排序 {if (nums[i] == nums[i - 1])return nums[i];}return 0; }
}
思路分析:
题目描述:
在一个 n * m 的二维数组中,每一行都按照从左到右 非递减 的顺序排序,每一列都按照从上到下 非递减 的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
示例:
现有矩阵 matrix 如下:
[
[1, 4, 7, 11, 15],
[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10, 13, 14, 17, 24],
[18, 21, 23, 26, 30]
]给定 target = 5,返回 true。
给定 target = 20,返回 false。
代码实现:
public class Solution {public bool FindNumberIn2DArray(int[][] matrix, int target) {if (matrix.Length == 0 || matrix == null) // 判断是否为空 return false; int i = matrix.Length - 1;int j = 0;while (i >= 0 && j < matrix[0].Length){if (matrix[i][j] > target)i--;else if (matrix[i][j] < target)j++;elsereturn true;}return false; }
}
思路分析:
代码实现2:
public class Solution {public bool FindNumberIn2DArray(int[][] matrix, int target) {foreach (int[] arr in matrix){if(arr.Contains(target)) // 包含直接返回true{return true; }}return false; }
}
思路分析:
题目实现:
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
代码实现:
public class Solution {public string ReplaceSpace(string s) {return string.Join("%20",s.Split(' ')); }
}
思路分析:
代码实现2:
public class Solution {public string ReplaceSpace(string s) {StringBuilder res = new StringBuilder(); // 声明可变字符串foreach(var c in s) // 循环遍历 {if(c == ' ')res.Append("%20");else res.Append(c); }return res.ToString(); }
}
思路分析:
🌻 以上就是本次的做题记录啦,希望大家看完有所收获。同时希望大家多多支持,你们的支持就是笔者学习最大的动力!
上一篇:7 配置的封装