自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

相信相信的力量

公众号:Python与算法社区

  • 博客(95)
  • 资源 (31)
  • 问答 (1)
  • 收藏
  • 关注

原创 Leetcode-标签为stack 155. Min Stack

设计栈,并在常数时间复杂度求栈的最小元素。内部维护一个列表实现栈的功能。

2017-04-15 17:45:58 905

原创 leetcode-标签为stack 496. Next Greater Element I

给定数组 `[9 8 7 2 1 5]`.如何借助栈在线性时间复杂度内巧妙地求出这个序列中每个元素的下一个最大值呢?

2017-04-15 17:15:27 614

原创 Leetcode-标签为stack的easy题目列表

Leetcode-标签为stack的题目列表

2017-04-15 11:29:00 736

原创 LeetCode-标签为 stack 225. Implement Stack using Queues

用队列模拟栈操作。一个队列很难实现高效的栈操作,所以用两个队列,其中一个队列中保证只有一个元素,另一个维护其他元素。

2017-04-15 11:20:34 506

原创 UI/View-ComboxBox控件获取选中项

.NET提供的comboxBox控件,获取选中的项,总是容易混淆。在这里备忘一下。 通过属性 selectItem 获取当前选中的某一项,而不是通过 selectText 。

2017-04-13 15:36:50 1187

原创 算法-子数组连续序列最大和其时间复杂度如何从O(n^3)到O(n)

求数组的连续子数组和的最大值。如何做到时间复杂度从O(n^3),O(n^2),再到O(n)呢? 这中间我们应该做哪些思考使复杂度逐渐变小呢?这些思想怎么能应用到我们的开发中呢? 下面分别看下这几个版本的代码实现。

2017-04-11 22:34:01 1337

原创 LeetCode-Easy部分中标签为Dynamic Programming 121. Best Time to Buy and Sell Stock

`Kadane's Algorithm` 求两个数的最大差值,后面的数作为被减数,O(n)的时间复杂度,O(1)的空间复杂度。

2017-04-10 20:07:54 454

原创 LeetCode-Easy部分中标签为Dynamic Programming *198. House Robber

这是一道很难理解的DP问题。

2017-04-10 14:23:13 1161 2

原创 LeetCode-Easy部分中标签为Dynamic Programming 523. Continuous Subarray Sum

DP问题应用连续区域,判断是否等于指定值的倍数。

2017-04-10 08:44:15 839

原创 LeetCode-Easy部分中标签为Dynamic Programming 303 Range Sum Query - Immutable

求 `[i,j]` 区域和。这个题目最出彩的地方莫过于给出了一个构造函数,这是一个重要的提示,预示着它可能给出点什么东西。是的,在构造函数中,计算出 nums[i] = nums[0]~nums[i]的和。

2017-04-09 23:14:28 653

原创 LeetCode-Easy部分中标签为 Dynamic Programming(DP) 169. Majority Element

哈希表和DP法求出现次数最多的元素

2017-04-09 22:31:22 608

原创 LeetCode-Easy部分中标签为Dynamic Programming 的所有题目

Dynamic Programming的所有easy部分题目

2017-04-09 22:13:17 667

原创 LeetCode-Easy部分中标签为 Dynamic Programming(DP) 53. Maximum Subarray

这个题表面上看能分解为类似```MaxSubArray(int[] nums, int i, int j)```即求nums[i:j]子数组的最大值。再仔细分析后发现,找不到与原问题的契合点。不妨换思路, `dyna[i] = nums[i] + (dyna[i-1]>0 ? dyna[i-1]:0) `` max = Max(max, dyna[i])`

2017-04-09 22:03:21 851 2

原创 540. Single Element in a Sorted Array

异或操作求单数。

2017-04-09 13:08:31 927 5

原创 LeetCode-Easy部分中标签为 Binary Search 278. First Bad Version

二分查找应用到第一个坏版本查找上。

2017-04-09 09:58:16 710

原创 LeetCode-Easy部分中标签为 Binary Search 441. Arranging Coins

返回给定 n 的全数的个数。二分查找。

2017-04-08 23:48:03 742

原创 LeetCode-Easy部分中标签为 Binary Search 167. Two Sum II - Input array is sorted

在升序数组中,求两个数的和等于目标值时所在的索引,分别给出最精简的Hash算法和两个指针法

2017-04-08 22:20:20 1438

原创 LeetCode-Easy部分中标签为 Binary Search 367. Valid Perfect Square

判断一个数是不是平方数,不能用内置的类库函数,如 `sqrt`。思路:二分查找分别找出两个左右端点。

2017-04-08 21:29:34 943

原创 LeetCode-Easy部分中标签为 Binary Search 349. Intersection of Two Arrays 350. Intersection of Two Arrays II

求数组的交集,同一个元素在交集中可能出现多次。考虑了数组排序,二分查找,数组大小等因素。思路:数组排序,小个数在大个数组中二分查找位置,若元素相等,查看是否在2个数组中出现多次。

2017-04-08 16:54:42 601

原创 LeetCode-Easy部分中标签为 Binary Search 349. Intersection of Two Arrays

求两个数组的交集。

2017-04-08 11:47:56 524

原创 LeetCode-Easy部分中标签为 Binary Search的所有题目

LeetCode-Easy部分中标签为 Binary Search的所有题目。

2017-04-08 11:31:28 542

原创 LeetCode-Easy部分中标签为String 383. Ransom Note

判断从字符串 str 中是否可以选出指定的字符串 substr 。思路,str 整理成字典,遍历 substr 的每个字符,判断有吗,没有返回 false;遍历完返回 true。

2017-04-08 11:22:10 686

原创 LeetCode-Easy部分中标签为String 14. Longest Common Prefix

求各个字符串的最大公共前缀。先求出前2个最大公共前缀 cstr,然后拿它在之后字符依次比较,有一个不是,则丢弃 cstr 的最后一个字符。

2017-04-08 10:05:05 715

原创 LeetCode-Easy部分中标签为String 434. Number of Segments in a String

> a segment is defined to be a contiguous sequence of non-space characters. 意味着我们可以写出以下2个API来判断每个字符串的第一个片段,然后递归求所有字符片段的个数。

2017-04-08 08:20:23 665

原创 LeetCode-Easy部分中标签为String 459. Repeated Substring Pattern

判断字符串可由子串重复模式组成吗。思路,默认第一个字符为可重复组合整个串,则去掉这个字符组成的子串中,这个字符的indexof为0,依次检查,若不成立,再组合前两个字符,。。。

2017-04-07 23:50:26 751

原创 LeetCode-Easy部分中标签为String 520. Detect Capital

所有字母大写,只有首字母为大写,所有字符小写,这是三种合法的字符。判断根据这个思路去写即可。

2017-04-07 22:49:58 996

原创 LeetCode-Easy部分中标签为String 20. Valid Parentheses

栈的应用之字符配对。

2017-04-07 17:21:38 766

原创 LeetCode-Easy部分中标签为String 58. Length of Last Word

最后一个字符长度

2017-04-07 16:10:34 816

原创 LeetCode-Easy部分中标签为String的所有题目

LeetCode-Easy部分中标签为String的所有题目

2017-04-07 15:39:35 925

原创 LeetCode-Easy部分中标签为LinkedList 21. Merge Two Sorted Lists

合并两个有序链表。运用归并排序的合并思想。

2017-04-07 15:32:59 894

原创 LeetCode-Easy部分中标签为LinkedList 160. Intersection of Two Linked Lists

求2个链表的交集`所在的节点`。注意题目中给出的注意事项。

2017-04-07 14:16:07 631

原创 LeetCode-Easy部分中标签为LinkedList 203 Remove Linked List Elements

删除等于某个值的所有节点,返回删除后的单链表。设立一个临时指针tmp指向链表头,假定头不等于要删除的节点,判断下一个节点是否等于,如果等于将tmp指向删除节点的下一个节点,。。。

2017-04-06 14:28:57 562

原创 LeetCode-Easy部分标签为LinkedList 234. Palindrome Linked List

根据回文数定义和单链表特点,求单链表是否为回文链表。要求时间复杂度O(n),空间复杂度O(1)。思路,将后半部分反转,与前半部分元素一一比较。

2017-04-06 13:01:06 656

原创 LeetCode-Easy部分标签为LinkedList 206. Reverse Linked List

单链表反转。1. 保存节点b后的所有节点顺序2. 上步保存后,可以放心的将b的next域指向a,实现反转3. 上步实现反转后,再赋值给a,这样a始终为反转链表的头节点4. 上步后实现了反转,这步实现迭代,即让b再在原来的链表中保持前行。

2017-04-06 09:29:15 610

原创 LeetCode-Easy部分中标签为Two Pointers 88. Merge Sorted Array

归并排序的合并部分,前提是有序数组。题目中说到nums1控件足够大。

2017-04-05 23:08:05 847

原创 LeetCode-Easy部分中标签为Two Pointers 283. Move Zeroes

0全部后移,非零顺序不变。借助两个指针,一个顺序前移,判断指向的为零吗?一个指针始终指向非零元素,即第1个非零,第2个。。。

2017-04-05 20:09:07 525

原创 LeetCode-Easy部分中标签为Two Pointers 125. Valid Palindrome

判断一个字符串是不是`回文` 字符串。首、尾指针分别指向有效字符或数字,一一比较,若过程中出现不等,直接返回false,若两个指针碰头了,表示字符首、尾都相等,返回true。

2017-04-05 17:20:20 813

原创 LeetCode-Easy部分中标签为Two Pointers 345. Reverse Vowels of a String

反转字符串中的元音字符。首、尾两个指针分别定位元音字符,交换

2017-04-05 15:17:15 1047

原创 LeetCode-Easy部分中标签为Two Pointers的所有题目

LeetCode-Easy部分中标签为Two Pointers的所有题目

2017-04-05 13:08:00 1009

原创 LeetCode-Easy部分中标签为Math 507. Perfect Number

求出输入值的所有质因子(不包括自身),累加后是否等于输入值,等于便是`Perfect Number`

2017-04-05 12:54:32 851

Demo: c/c++动态库(DLL)调用,c#等其他语言调用c/c++的DLL

c++动态库调用另一个动态库 c++动态库调用c动态库 c#等其他语言调用c/c++动态库

2017-08-09

斯坦福大学CS246 book-Mining of Massive Datasets

斯坦福大学 Mining of Massive Datasets

2017-07-06

LeetCode-Manager

自己基于.NET平台,EF框架,制作的本地SQL Server小工具,专门管理LeetCode标签和题目,能输出用于CSDN博客和Github表格模板的功能。

2017-06-10

LeetCode 完成题目管理工具

自己基于.NET平台制作的本地SQL Server小工具,专门管理LeetCode标签和题目,能输出用于CSDN博客和Github表格模板的功能。

2017-06-10

.NET-BackgroundWorker实现异步处理和滚动条报告进度Demo

.NET-BackgroundWorker实现异步处理和滚动条报告进度Demo http://blog.csdn.net/daigualu/article/details/71211336

2017-05-05

leetcode-tag-Tree

leetcode-tag-Tree

2017-04-29

leetcode-tag-Stack

leetcode-tag-Stack

2017-04-29

leetcode-tag-dynamic programming

leetcode-tag-dynamic programming

2017-04-29

leetcode-tag-array

leetcode-tag-array

2017-04-29

归并排序算法程序模拟

归并排序过程的前半部分,过程示意图见下,从图中可见,步骤1,2,3,4一直分割区间,等到步骤5时,左右区间长度都为1,此时发生一次归并,结果再与另一个区间长度为1的归并,即步骤6;步骤7分割,步骤8归并,步骤9归并后前半部分合并结束; 后半部分过程与前半部分归并一致,不再详述。

2017-03-30

.NET-TreeView控件扩展功能:CheckBoxs父子选中状态同步和自动调整

.NET System.Windows.Forms命名控件中TreeView组件,有一个CheckBoxs属性,控制着这个控件每个节点前是否显示勾选框,如果设置为true,所有节点的勾选框选中,反之都不选中;如果选中父节点,子节点不会自动选中。根据需求,自动扩展了这个控件,使具备父子选中状态同步。如果鼠标离开这个控件,通过鼠标单击,隐藏复选框,否则进入某个节点,单击,显示复选框。

2017-03-28

模拟KMP失配函数next过程分析

模拟KMP失配函数next过程分析

2017-03-23

实例模拟KMP算法的next失配函数

实例模拟KMP算法的next失配函数

2017-03-21

快速排序算法实现

选取一个关键码key,一趟排序将要排序的数据分割成独立的两部分,key前的元素都小于key, 靠后的都大于key, 然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

2017-03-16

C# Sort 按年龄排序

2万多名员工按年龄排序算法, 算法思想是归并排序,同时结合年龄取值的实际情况。

2017-03-15

LinkedList 所有公有方法和属性 导图

.NET框架中的LinkList,实现的是双向链表,总结下它的实现源码。 LinkedList提供的公有属性和方法的导图

2017-03-13

C# System.Collections所有对象的类图,结构图

System.Collections导图,不含泛型(泛型与非泛型基本一致)

2017-03-13

.NET: Xml.Serialization常用对象导图

.NET框架中,System.Xml.Serialization 命名空间包含着用来将对象序列化为XML的文本或流的对象。

2017-03-10

模拟实验-C#版基于二分查找的稳定“插入排序”算法

程序模拟实验所用到的所有源码,包括冒泡排序,插入排序,代码运行时长统计等。

2017-03-10

冒泡排序修正版本

冒泡排序C#描述和模拟分析

2017-03-09

用C#描述数据结构4:模拟冒泡排序过程,比较次数分析

先生成一堆乱序的集合。在.NET中通过Random,生成随机数,模拟了排序的过程,分析了两两比较大于1次的比较!

2017-03-08

C#语言及全应用思维导图

C#语言及全应用思维导图

2017-03-08

如何由浅复制到深度复制

我想实现了深度复制呢,也就是我新复制出来的对象不是仅仅复制引用, 而是复制对象!比如说,你需要在一个模板的基础上修改出5个版本的建立,每个版本投递到不同的企业上,版本1投给公司A,版本2投给公司B,。。。假如说这5个版本的不同仅仅是“我期望加入某某公司”,某某换成5个公司对应的名称。

2017-03-07

C#中的ArrayList导图

ArrayList。   首先,它不是静态的,编译时每一维度的元素个数不用指定,系统默认元素个数为16,当元素增多并即将大于16时,它会增倍扩容到32,依次规律增长,变小时,相反处理。   其次,元素类型是弱类型,object。在运行时,根据实际被赋予的类型,确定每个元素的类型,也就是说,这个集合中的元素可以是各种不同的元素,鱼龙混杂式的。

2017-03-07

Array:一维和二维接口语义区分

Array: 一维和二维初始化,常用易混淆的语义接口!

2017-03-06

用C#描述数据结构2:Array

Array是.NET提供的最基础的数据集合,通过索引直接访问集合元素。提供一维或多维数据存储,并支持诸如,查询,搜索,排序,复制等操作。 提供的主要接口,根据语义划分,主要包括:

2017-03-06

统计代码执行时间对象

自定义一个统计代码执行时间的类*CalcTiming*,考虑了: - 在统计执行过程中,不允许有垃圾回收。即在统计代码执行时间之前,就让GC完成垃圾回收。 - 确保统计的是当前进程中代码的执行时间。

2017-03-06

数据结构用C#语言描述

  数据结构对专业程序员的开发起到至关重要的作用。正在开始一个专栏,准备把导图中涉及到的数据结构用C#语言写一遍。

2017-03-06

基于C#.NET的visual studio编写的贷款分析器

基于C#.NET的visual studio编写的贷款分析器

2017-03-05

根据业务倒推观察者模式

订阅-分发模式,又叫观察者模式,那么这种模式它的实现机理是什么?它该如何在产品开发中实际应用呢? 我们学一种模式,最好不要死板的去学它,可以根据业务的需求将伪代码逐渐转化为真正的代码。自己画画图,编编码,体会这种机制,这样完全实践一遍后,才能真正体会这种模式的精髓所在,然后将其用于以后的产品开发中。

2017-03-05

Windows程序运行原理

Windows程序运行原理

2014-10-26

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

TA关注的人

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