- 博客(7)
- 资源 (15)
- 收藏
- 关注
原创 代码设计探讨
1. 组件树形结构树干=框架叶子=业务逻辑这种设计结构需要设计者在设计时最好将业务逻辑点能够很好的规划出来,不能让叶子逻辑点之间有逻辑关联,否则这种类型的设计结构将不太适合. 树干这里要做的事情就是为叶子提供管道,当逻辑触发点触发时,框架是不做任何业务逻辑相关的操作,只负责能够将该消息能够路由到正确的叶子结点上.对于叶子需要使用的第三方库,都整合到树干中做成树干的工具,业务逻辑点进行调用.例
2017-03-22 14:16:17
668
原创 JS 实现反射功能
在js中假定我有一个函数字符串是 var str = "refresh()" 有一个对应的函数是:function refresh(){}如何做到 从str映射调用 refresh呢? 可能有很多人第一想法直接用个object保存一下映射即可,但是有些场景下是不可行的,因为用Object保存的场景只有在你很明确知道 refresh函数存在的情况. 但是在你疯狂一个插件或者库的场景时,这个
2017-02-07 13:46:41
3573
原创 LeetCode--Container With Most Water
需要对题目进行分析,最好在纸上画一下场景,可以得出O(n)解决方案,也有n方解决方案,当然比较简单,以下是o(n)方案。 func maxArea(height []int) int { max := 0 left := 0 right := len(height) - 1 for left < right { var area int
2016-10-08 18:12:49
235
原创 leetcode -- 388. Longest Absolute File Path
使用了一个map记录文件位置,o(n)的方案实现,没有出现额外的字符串匹配过程,4ms解决func lengthLongestPath(input string) int { flag := make(map[int]int) tmp := 0 path := "" str := "" isFile := false max := 0 flag
2016-08-25 18:09:37
373
原创 LeetCode--Longest Palindromic Substring
Manacher’s ALGORITHM 算法实现,空间复杂度 O(2*N+1),时间复杂度O(2*N + 1),经过验证这种算法实现的时间是4ms,而通过最长公共子串算法时间是256msfunc longestPalindrome(s string) string { n := 2*len(s) + 1 p := make([]int, n+1) id := 0 m
2016-08-19 16:35:31
178
原创 码农谷之采药
码农谷采药问题-01背包算法#include <stdio.h>#include <string.h>/* 采药时间 */int T = 0;/* 采药数目 */int M = 0;int V[101][1001];#define MAX(a,b) ((a) > (b)?(a):(b))int main(){ int i = 0,j = 0; int t,v ;
2016-08-17 17:46:54
454
原创 码农谷题目之将字符串中的字符按规则重新排列
码农谷题目之将字符串中的字符按规则重新排列码农谷坑爹的和以前OJ有点区别就是你不能while循环读取,只能一个进程做一题,因为这个就花了好长时间,以下是AC的C代码:#include <stdio.h>#include <string.h>#define VALUE(p,i,v) \ if(p[i] >= 'A' && p[i] <= 'Z') \ { \ v =
2016-08-12 14:33:51
569
交通灯设计以及与PC机的通信
2011-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人