算法
des_null
这个作者很懒,什么都没留下…
展开
-
leetcode26 删除排序数组中的重复项(C#)
题目给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nu...原创 2019-10-27 09:40:31 · 292 阅读 · 0 评论 -
leetcode21 合并两个有序链表(C#)
题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解答解法一:双指针这个方法很粗暴,l1 和 l2 各持有一个指针来遍历两个单链表,把值比较小的节点加入存储答案的链表,直到 l1 和 l2都遍历完毕。解...原创 2019-10-21 16:39:37 · 451 阅读 · 0 评论 -
leetcode19 删除链表的倒数第N个节点
题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?解题前提:单链表序列从1开始。解法一:两遍循环要删除倒数第n个节点,那么...原创 2019-10-20 23:37:24 · 194 阅读 · 0 评论 -
leetcode16 最接近的三数之和
题目给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).解题比起上一题三数之和,最接近的思路简...原创 2019-10-17 16:50:40 · 102 阅读 · 0 评论 -
leetcode15 三数之和
题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]解题思路是先将数组排序,再建立...原创 2019-10-17 14:53:12 · 87 阅读 · 0 评论 -
leetcode14 最长公共前缀(C#)
题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。解题解法一:暴力法暴力法的思路很简单,令第一个字符串...原创 2019-10-17 13:14:56 · 325 阅读 · 0 评论 -
leetcode 7 整数反转(C#)
题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2 ^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解题:解法一:To...原创 2019-10-15 18:59:31 · 332 阅读 · 0 评论 -
leetcode 6 Z字形变换(C#)
题目将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 ...原创 2019-10-08 10:35:37 · 239 阅读 · 0 评论 -
leetcode 50 Pow(x,n) (C#)
题目实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25解题解法一:暴力法。求x的n次方,最简单的就是xxxx…*x(总共...原创 2019-10-07 17:43:37 · 165 阅读 · 0 评论 -
leetcode 5最长回文子串(C#)
题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”解题解法一:中心扩散法。回文串有两种情况:1.回文串以单个字符对称,例如【“abcba”】以“c”字符为中心,两边对称;2.回文串以两个字符对称,例...原创 2019-10-07 14:32:48 · 355 阅读 · 0 评论 -
leetcode2 两数相加(C#)
题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&g...原创 2019-10-06 10:33:57 · 654 阅读 · 0 评论 -
leetcode 3无重复字符的最长子串(C#)
题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke...原创 2019-10-05 12:43:25 · 337 阅读 · 0 评论 -
算法笔记(一)
算法笔记(一) 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2 一开始的思路是先对数组排序,然后用两层for循环遍历数组,用count计数,count值最大的为众数,结果...原创 2019-07-31 20:01:45 · 142 阅读 · 0 评论 -
算法笔记(二)
验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: false思路:把string转为char数组,双指针分别指向数组头尾,依次比较(Char.Is...原创 2019-08-04 14:41:17 · 136 阅读 · 0 评论