自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 OmniSharp FileNotFoundException:System.Threading.Tasks.Dataflow

今天莫名OmniSharp插件不能使用了。出现如下错误OmniSharp.MSBuild.Discovery.MSBuildLocatorFAILURE:Found'xxxxxxxxxxx\.vscode\extensions\ms-dotnettools.csharp-1.23.9\.omnisharp\1.37.7-beta.87\.msbuild\Current\Bin\System.Threading.Tasks.Dataflow.dll'butname,'Sy...

2021-03-03 19:44:50 458 1

转载 Objective-C中@,[], /, *等符号说明iOS基础入门

我们在程序中看到大量的减号、中括号、中括号、@等等陌生符号,我们下面进行一一解释:1)减号(或者加号)减号表示为实例方法,必须使用类的实例才可以调用的。比如C语言中,一个方法的写法可能是:void hello(bool ishello){......}用Objective-C写出来就是-(void) hello:(BOOL)ishello{......}加号表示类方法,这类方法是可以直接用类名来调用的,它的作用主要是创建一个实例。有人把它称为创建实例的

2020-05-29 14:41:05 1465

原创 vscode----OmniSharp不能正常使用

有一天突然vscode打开项目无法使用C#代码提示了相关提示:No Razor files detected in workspace, delaying language server start后经过排查发现是新版本有bug所以去github上下载了个以前的版本链接:https://github.com/OmniSharp/omnisharp-vscode/release...

2020-05-11 21:38:09 6850

原创 Unity OnPointerClick 和 OnMouseDown以及双击实现

简单分析 OnPointerClick 和OnMouseDown实现双击的代码如下using UnityEngine;using UnityEngine.EventSystems;public class TestDemo : MonoBehaviour, IPointerClickHandler{ private float endTime = 0; priv...

2020-04-22 22:43:33 9126

原创 zookeeper配置

zookeeper的配置主要在于两个点myid:在zookeeper目录下touch一个myid 里面赋值0(其他机器则依次递增) 这个是用来给机器添加一个编号(用来zookeeper选举 和 zoo.cfg的sever.X)每台机器的名字和你的myid的值必须一致 配置conf/zoo.cfg 这个zoo.cfg本来你刚解压zookeeper是没有的这个是要去复制你的zoo_sample....

2019-10-02 21:48:53 278

原创 Python 归并排序实现

归并排序实质就是不断的对一个数组进行左右区间的划分, 当划分到最小块的时候,则左右两边均只有一个元素时这个时候通过merge 将他们在该块进行排序合并。最后将排序好的块在写入原数组。然后一次进行更大块的合并。这样每次合并的两个块在各自的分组是有序的。因此合并只需要建立两个索引,一个指向左边的分区,一个指向右边的分区,然后进行赋值排序,当一个分区的索引移动到终点(左边终点是middle,右边终...

2019-09-29 11:54:46 188

原创 联机算法——求最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。联机算法:联机算法是在任意时刻算法对要操作的数据只读入(扫描)一次,一旦被读入并处理,它就不需要在被记忆了。而在此处理过程中算法能对它已经读入的数据...

2018-10-23 11:16:48 1006

原创 用两个栈实现队列

用两个栈可以实现队列。        可以让栈A当做出口,栈B当做入口。每当入栈的时候全都入到B中,而出栈的时候判断栈A中是否为空,不为空就出A,为空就把B中栈全入到A中,然后再从A中出。即代码如下:稍微加了点异常处理 不过结果不影响。class StackQuene { private Stack<int> stackA = new Stac...

2018-10-23 00:40:40 127

原创 麻将胡牌算法——C#

这里只介绍普通的麻将胡牌算法,也就是7个对子或者 1个对子+3*N; N = 三个顺子或者三个一样的 ,其中字牌(东南西北中发白)不能算顺子。首先对于每张牌 它有牌的的数字 1-9,牌的种类 (万条筒以及字)所以先封装一个牌的包装类。如果要和服务器交互的话就应该给这个类序列化 即加上System.Serializable,然后再转Json格式,这里只做胡牌的基本判断。 public ...

2018-10-22 18:18:32 3182

原创 经典排序算法——鸡尾酒排序

鸡尾酒排序就是冒泡排序改进的一种,不同于冒泡排序,鸡尾酒是双向的,它每一次都会先进行从左到右的升序排列,再从右到左的降序排列。就像:   2,4,10,3,33第一次:2,4,3,10,33第二次:2,3,4,10,33但是需要考虑的是他可能不需要到排完数组长度一半的次数就排完了,所以需要加一个判断符,每次只要不需要排序就break出来。先看看普通的冒泡排序:代码如下//...

2018-10-20 23:37:28 223

原创 Lua——快速排序

开始学习lua,打算先用lua来写一下排序算法,这是个开始。希望能坚持下去。先是快排代码如下(就不解释了逻辑和C#一样只是语法格式问题)myarr = {1,3,2,33,22,100}function quicksort(arr,left,right) index = arr[left] l = left r = right while l < r do while ...

2018-10-19 00:18:42 531

原创 Lua——对象排序

有时候可能有这样的需求:比如有很多个人,每个人的年纪不同,现在需要对所有人的年纪进行排序。代码如下:Person = {name = "", age = 0}function Person:new(o) o = o or {} setmetatable(o,self) self.__index = self return oendp1 = Person:new({name ...

2018-10-18 23:59:55 449

原创 面试算法题——数字删除指定个数使结果

给定一个正整数,如果删除其中若干数字,怎么删除能保证剩下的数字组成最大,编程实现,不长于O(n),输入给定的正整数和要删除的数字个数5349 2  ==》 59思路:         先求这个数字的递减序列,然后删除递减序列的最后一个数,最后如果要求删除的个数还多了就删除当前删除之后序列从后开始删。这里我用栈来处理,原来数组中只要当前位比前一位要大就说明前面是递减序列最后一个,再判断是...

2018-10-18 16:10:09 693

原创 56. 合并区间

给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。...

2018-10-18 00:06:00 219

原创 234. 回文链表

请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true思路:           首先建立两个指针指向链表,然后使其中一个指针指向链表中间,这里可以使用另一个指针快速移动,当另一个指针移动速度是前一根指针的一倍时,就可以使slow指针到一半,而fast指针遍历完了。使用...

2018-10-16 19:53:35 87

原创 非递归的快速排序

对于非递归的快速排序,推荐使用栈,和递归的快速排序都是不断的去调整每次遍历的空间,并通过区间的目标值,一般取区间的第一个值来进行左右区间的划分,再递归调用Partition,和递归不同的是使用栈可以成对的进行管理区间,每次Partition都会都会得到一个目标值,这个目标值和你之前存储在栈中的区间范围可以做判断,当它和你的左区间长度大于2时,则认为可以进行下一次的Partition并入栈,同理当它...

2018-10-15 15:16:44 292

原创 147. 对链表进行插入排序

对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。 插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其...

2018-10-15 13:03:13 521 1

原创 两道题目——凑14和压缩0和1组成的数组

1.实现一个函数 凑14 :输入很多个整数(1<=数值<=13)任意两个数相加等于14就可以从数组中删除这两个数,求剩余数(从小到大排列);比如输入{9,1,9,7,5,13 } 输出 {7,9};       用两个指针变量一头一尾,同时遍历,可以避免访问重复数据,遇到相同的就将其下标保存在list中,最后通过数组和list进行去重复,然后返回最终结果。代码如下: ...

2018-10-07 23:21:36 522

原创 15. 三数之和

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]这道题首先需要先对数...

2018-10-01 23:00:08 140

原创 70. 爬楼梯

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. ...

2018-10-01 22:15:50 96

原创 一道算法题——8选6全排列

在网上看到一道题目:给定一个字符串包含8组元素,任取其中六组进行全排列。例如: string str = "01 02 03 04 05 06 07 08";   从中输出所有由其中六个组成的序列。思路:是用2进制来表示这个字符串的所有排列情况, 对每一位为1则输出,如11111100则是010203040506;而最小的是00111111;代码如下: //8选6的...

2018-09-28 18:09:46 1621

原创 41. 缺失的第一个正数

给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1主要判断数组中如果全是负数就返回1; 如果数组中有正数,找出最小的正数,如果大于1则返回1,如果=1的话判断数组中它之后的正数和它是否连续,不连续则找出第一个...

2018-09-21 12:45:55 202

原创 堆排序——贼容易理解

堆排序就是对一个完全二叉树进行排序,首先将数组构造成一个大顶堆(小顶堆也可以),大顶堆就是整个完全二叉树的第一个元素最大,然后将首位进行换位,最后在将下次要构造的大顶堆的长度-1,直到最后只剩一个元素的时候就排序OK了 ,代码如下:class Program { static void Main(string[] args) { ...

2018-09-18 20:48:39 119

原创 43. 字符串相乘

给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1 和 num2 的长度小于110。 num1 和

2018-09-17 19:47:29 354

原创 LeetCode算法题——两个排序数组的中位数

4.给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 nums1 和 nums2 不同时为空。示例 1:nums1 = [1, 3]nums2 = [2]中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]中位数是 ...

2018-09-13 02:01:15 221

原创 LeetCode算法题——完全二叉树的节点个数

对于这道题首先会想到递归判断节点,不为空就加1,代码如下(但是会超时)://会超时public class Solution { if (root == null) return 0; return CountNodes(root.left) + CountNodes(root.right) + 1;}public class TreeNode { publi...

2018-09-12 18:20:06 411

原创 LeetCode算法题——三数之和

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]代码如下:pu...

2018-09-12 16:47:18 229

原创 LeetCode算法题——最长同值路径

        int max = 0;   //保存当前最长路径值        public int LongestUnivaluePath(TreeNode root)        {            if (root == null) return 0;            else            {                GetLongest(ro...

2018-09-09 19:09:39 548 1

原创 LeetCode算法题——查找字符串数组中的最长公共前缀

代码如下:public string LongestCommonPrefix(string[] strs) {            if (strs.Length == 0) return "";   //为0返回空            //先找出公共前缀最大的长度.            int min = strs[0].Length;                   fo...

2018-09-09 18:48:17 825

原创 LeetCode算法题——相同的树

要判断给定的两颗二叉树是否相同,就递归遍历它们的所有子节点并进行判断代码如下: //判断两颗树是否相同        public bool IsSameTree(TreeNode p, TreeNode q)        {            if (p == null && q == null) return true;               if (p...

2018-09-09 18:41:14 166

原创 C#快速排序

快速排序就是对于一个数组任取一个当做标志位(一般选择第一个),然后将比这个标志位大的数放在它的右边,小的放在它的左边,这样分为了两个区间,再分别对左右两个区间重复执行之前的步骤就是快速排序。代码如下:         public static void QuickSort(int[] arr, int left, int right) {            int l = left...

2018-09-09 18:30:42 115

原创 C#归并排序

归并排序其实就是将一个数组不断的进行一分为二,最终两边都只有一个数据时(一个数据当然有序)开始合并。代码如下:private static void MyMergeSort(int[] arr, int first, int last) {            if (last > first) {                int middle = (first + l...

2018-09-09 18:19:15 209

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除