- 博客(95)
- 资源 (31)
- 问答 (1)
- 收藏
- 关注
原创 leetcode-标签为stack 496. Next Greater Element I
给定数组 `[9 8 7 2 1 5]`.如何借助栈在线性时间复杂度内巧妙地求出这个序列中每个元素的下一个最大值呢?
2017-04-15 17:15:27 614
原创 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
原创 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部分中标签为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
LeetCode-Manager
2017-06-10
LeetCode 完成题目管理工具
2017-06-10
.NET-BackgroundWorker实现异步处理和滚动条报告进度Demo
2017-05-05
归并排序算法程序模拟
2017-03-30
.NET-TreeView控件扩展功能:CheckBoxs父子选中状态同步和自动调整
2017-03-28
快速排序算法实现
2017-03-16
.NET: Xml.Serialization常用对象导图
2017-03-10
如何由浅复制到深度复制
2017-03-07
C#中的ArrayList导图
2017-03-07
用C#描述数据结构2:Array
2017-03-06
统计代码执行时间对象
2017-03-06
根据业务倒推观察者模式
2017-03-05
mvc 新建本地mdf 出错
2017-03-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人