算法
arcadia188
这个作者很懒,什么都没留下…
展开
-
算法题:回文数--不用字符串实现(C#实现)
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...原创 2018-12-13 20:23:12 · 618 阅读 · 0 评论 -
排序算法:堆排序(C#实现)
堆的概念:堆是一种特殊的完全二叉树,每个节点都比他的左右孩子节点大的完全二叉树叫做大顶堆,每个节点都比他的左右孩子节点小的完全二叉树叫做小顶堆。 算法思路:首先把数组中的元素排列成大顶堆,然后把大顶堆的根节点取出来和最后一个叶子节点互换,然后把堆中的最后一个元素去除,构建新的堆,重复以上步骤,直到排序完成。算法实现如下: class Program { sta...原创 2018-12-13 20:51:17 · 402 阅读 · 1 评论 -
算法题:最长回文子串(C#实现)
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"暴力法最容易想到的就是暴力破解,求出每一个子串,之后判断是不是回文,找到最长的那个。求每一个子串时间复杂度O(N^2), 判断子串是不是回...原创 2018-12-15 13:26:07 · 1386 阅读 · 1 评论 -
算法:整数反转(c#实现)
题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么...原创 2018-12-12 10:23:51 · 2303 阅读 · 0 评论 -
算法题:两数之和(C#实现)
题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]...原创 2018-12-12 10:29:01 · 3218 阅读 · 0 评论 -
算法:快速排序(C#实现)
快速排序C#代码实现//arr:待排序数组,left待排序起始下标,right待排序结束下标位置static void QuickSort(int[] arr,int left,int right) { if (left < right) { int i = left, j = righ...原创 2018-12-12 10:46:32 · 361 阅读 · 1 评论