![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 50
a_clear_chen
目前是个程序小菜鸡,专注unity与c#
展开
-
LeetCode 01 两数之和
题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]Main方法如下:static void Main(string[] args) {...原创 2018-04-27 22:12:27 · 131 阅读 · 0 评论 -
LeetCode——翻转二叉树
题目描述:翻转一棵二叉树。示例:输入: 4 / \ 2 7 / \ / \1 3 6 9输出: 4 / \ 7 2 / \ / \9 6 3 1思路:使用队列进行一次深度遍历,每次将队列头节点的左右子树交换,直到队列为空。代码如下:public TreeNode InvertTree(TreeNode root...原创 2018-07-11 22:07:57 · 258 阅读 · 0 评论 -
LeetCode——用队列实现栈
题目描述:使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。 ...原创 2018-07-10 21:04:22 · 667 阅读 · 0 评论 -
LeetCode——计数质数
问题描述:统计所有小于非负整数 n 的质数的数量。思路:大于2的偶数都不是质数,所以我们只需要判断奇数是不是质数。代码如下:public int CountPrimes(int n) { if(n<3) return 0; int count=n/2; bool[] f=new bool[n]; for(...原创 2018-06-25 14:20:31 · 326 阅读 · 0 评论 -
LeetCode——删除链表中的节点
问题描述:删除链表中等于给定值 val 的所有节点。思路:使用三个引用保存当前节点,前一个节点,后一个节点。要考虑到删除的节点是头节点、尾节点、中间节点,删除后链表为空这些情况。代码如下:public ListNode RemoveElements(ListNode head, int val) { while(head!=null && head.val==val...原创 2018-06-25 13:49:23 · 690 阅读 · 0 评论 -
LeetCode——快乐数
问题描述:编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。思路:将数替换为它每个位置上的数字的平方和,这个比较好实现,先取余10,再除以10。什么时候会循环呢?出现了之前出现的数,这个可以使用hashset来进行...原创 2018-06-25 13:41:57 · 860 阅读 · 3 评论 -
LeetCode——打家劫舍
问题描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。思路:这是一个求最优解的问题,使用动态规划。使用dp[i]表示第i间房屋能够偷窃到的最高金额,numa[i]...原创 2018-06-25 13:29:13 · 2418 阅读 · 0 评论 -
LeetCode——存在重复元素 II
题目描述:给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。解题思路:可以参考存在重复元素 I的解法,只需要改动一下。只取nums中相连的k个数尝试添加进hashset中,所以还要判断k与nums.Length的关系,具体代码如下:public bool ContainsNearby...原创 2018-06-23 13:01:16 · 269 阅读 · 0 评论 -
LeetCode——旋转数组
问题描述:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。解法一:将下标为i的元素放在下标i+k处,再将下标i+k处的元素放置在正确位置,以此类推(AC),时间复杂度:O(n),空间复杂度:O(1),代码如下:private static void Rotate1(int[] nums,int k) { if (k == 0) ...原创 2018-06-11 11:39:14 · 675 阅读 · 0 评论 -
LeetCode 03 Two_Sum_III___Data_structure_design
问题:Design and implement a TwoSum class. It should support the following operations:add and find.add - Add the number to an internal data structure.find - Find if there exists any pair of numbers which...原创 2018-04-28 19:01:49 · 126 阅读 · 0 评论 -
LeetCode 02 两数之和 II - 输入有序数组
题目:给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target =...原创 2018-04-28 16:04:58 · 245 阅读 · 0 评论 -
LeetCode——2的幂
题目描述:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。代码如下: public bool IsPowerOfTwo1(int n) { return n > 0 && (n & (n - 1)) == 0; } public bool IsPowerOfTwo2(int ...原创 2018-07-11 22:52:50 · 394 阅读 · 0 评论