随笔分类 - Algorithms
摘要:看了博客园里一篇文章《一道腾讯前端试题,谁来试试身手》,正好以前了解过位图法,确实不错。位图法适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在,如可标记1为存在,0为不存在。 位图法网上资料比较少,我在百度百科找到了对它的描述位图法比较适合于如下这种情况,它的做法是按照集合中最大元素max创建一个长度为max+1的新数组,然后再次扫描原数,遇到几就给新数组的第几位置上1,如遇到 5就给新数组的第六个元素置1,这样下次再遇到5想置位时发现新数组的第六个元素已经是1了,这说明这次的数据肯定和以前的数据存在着重复。这种给新数组初始化时置零其后置一的做法类似于位图的处理方.
阅读全文
摘要:ZOJ ACM 2100。典型的DFS,题目:
It is spring time and farmers have to plant seeds in the field. Tom has a nice field, which is a rectangle with n * m squares. There are big stones in some of the squares.
Tom has a seeding-machine. At the beginning, the machine lies in the top left corner of the field. After the machine finishes one square, Tom drives it into an adjacent square, and continues seeding. In order to protect the machine, Tom will not drive it into a square that contains stones.
阅读全文
公告
随笔分类 (207)
- .NET Core(1)
- Algorithms(2)
- ASP.NET(5)
- ASP.NET Essential(4)
- ASP.NET MVC(12)
- ASP.NET MVC 随想录(6)
- Bootstrap(5)
- CLR via C# 技术内幕(5)
- Disaster Recovery(2)
- Hyper-V(1)
- Lucene.Net(1)
- PowerShell For SharePoint(10)
- Scrum(2)
- SharePoint 2013 Step by Step(2)
- SharePoint In Action(40)
- SharePoint 项目实战(18)
- SQL SERVER T-TQL(2)
- Thinking In Design Pattern(12)
- Unity 3D(16)
- Unity应用架构设计(16)
- 跟我学SharePoint 2013视频培训课程(15)
- 架构思想(15)
- 木宛城(3)
- 网络编程(1)
- 项目管理(3)
- 杂谈(8)
- 更多
随笔档案 (162)
- 2024年11月(1)
- 2024年10月(4)
- 2023年6月(1)
- 2023年5月(1)
- 2020年3月(2)
- 2020年1月(1)
- 2017年7月(2)
- 2017年6月(2)
- 2017年5月(2)
- 2017年3月(11)
- 2016年6月(2)
- 2016年5月(2)
- 2016年1月(2)
- 2015年9月(2)
- 2015年8月(1)
- 2015年7月(1)
- 2015年6月(1)
- 2015年5月(1)
- 2015年4月(3)
- 2015年3月(2)
- 2015年2月(6)
- 2015年1月(13)
- 2014年9月(3)
- 2014年8月(1)
- 2014年7月(2)
- 2014年6月(7)
- 2014年5月(3)
- 2014年4月(1)
- 2014年3月(9)
- 2014年2月(1)
- 2014年1月(5)
- 2013年12月(5)
- 2013年11月(2)
- 2013年10月(5)
- 2013年9月(2)
- 2013年8月(3)
- 2013年7月(2)
- 2013年6月(4)
- 2013年4月(2)
- 2013年3月(1)
- 2012年12月(1)
- 2012年11月(1)
- 2012年10月(2)
- 2012年9月(4)
- 2012年8月(7)
- 2012年7月(9)
- 2012年6月(2)
- 2012年5月(2)
- 2012年4月(2)
- 2012年3月(2)
- 2012年2月(4)
- 2012年1月(1)
- 2011年10月(1)
- 2011年7月(1)
- 2011年5月(2)
- 更多
最新评论
- 1. Re:代码背后的智慧:20条编程感悟
注释是用来表达 “例外” 的。
正常的代码是不会有注释的。- --兴杰
- 2. Re:代码背后的智慧:20条编程感悟
- @bug糕手 感谢支持...
- --木宛哥说编程
- 3. Re:代码背后的智慧:20条编程感悟
爱看,多写多发
- --bug糕手
- 4. Re:我在大厂做 CR——如何体系化防控空指针异常
- @shunlibest 没问题;借助 IDE 来提示,属于事前的提前发现...
- --木宛城主
- 5. Re:我在大厂做 CR——如何体系化防控空指针异常
个人认为,最简单有效的方法,就是使用 nullable注解。
- --shunlibest
- 6. Re:我在大厂做 CR——为什么建议使用枚举来替换布尔值
看情况,没有一定的
- --桃子先森
- 7. Re:我在大厂做 CR——为什么建议使用枚举来替换布尔值
- @gihelo01 原因很简单,LGBT有几百个性变了,不是0,1可以玩的了。 我现在就挺好奇,欧美的系统到底现在怎么处理性别的 与时俱进啊,程序需求也是这样进化的。...
- --深蓝医生
- 8. Re:我在大厂做 CR——为什么建议使用枚举来替换布尔值
原因很简单,LGBT有几百个性变了,不是0,1可以玩的了。
我现在就挺好奇,欧美的系统到底现在怎么处理性别的
- --gihelo01
- 9. Re:我在大厂做 CR——为什么建议使用枚举来替换布尔值
写完就跑
- --一哈呀
- 10. Re:我在大厂做 CR——为什么建议使用枚举来替换布尔值
看场景的,抛开场景谈这个就是耍流氓。
- --呆萌哈士奇
- 11. Re:我在大厂做 CR——为什么建议使用枚举来替换布尔值
最开始是因为bool类型兼容0和1存储不占空间/内存吧
- --catmao
- 12. Re:我在大厂做 CR——为什么建议使用枚举来替换布尔值
“有道理!”
- --大卫小东(Sheldon)
- 13. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- 个人觉得,使用枚举并没什么问题,当然博主说的也没什么问题,但如果使用枚举的业务复杂,就会依赖很多其他对象或组件,会违反单一原则。 业务模块根据枚举实现不同的业务,而不是在枚举中实现不同的业务模块。...
- --keke7106
- 14. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
享元模式
- --天火33
- 15. Re:再谈如何优雅修改代码
good
- --通辽正鸽旗
- 16. Re:Unity应用架构设计(1)—— MVVM 模式的设计和实施(Part 2)
前来考古
- --如所愿
- 17. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- @Lookings 多高算高?,按设计的思想 ,一切皆是 对象,c# int 也应该是个对象?,你得考虑现实情况,用人成本,和薪资待遇,贫血模型也可以设计出很好的东西,只不过门槛低而已。...
- --Boys1
- 18. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- 这完全可以通过添加一个扩展方法实现: public static class LevelExtension{ public static int GetIndemnity(this Level lev...
- --thanks
- 19. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- @可少 业务代码不要有过多这样的设计,框架代码和组件代码才有必要。 业务代码变化过大,而且技术水平层次不齐,建议if else 加 堆叠增删改查一波完成任务即可。 当然,业务如果成熟,开发人员技术和业...
- --czd890
- 20. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- 业务代码不要有过多这样的设计,框架代码和组件代码才有必要。 业务代码变化过大,而且技术水平层次不齐,建议if else 加 堆叠增删改查一波完成任务即可。 当然,业务如果成熟,开发人员技术和业务水平都...
- --可少
- 21. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- @!!!!!!!!!!!!!!! 是不是为了预防Sex枚举多了LGBT啊。。 我草这个思路可以啊!...
- --flyingelephant
- 22. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- @SoarNo1 看到重写了大于、小于等操作,小巧实干,但在百度搜索资源少得可怜,真是被百度玩坏了多少事...
- --青出于蓝
- 23. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- @青出于蓝 顺便还有 enums.net 这种神库存在。虽然 也有smartEnum 但是我还是倾向使用 原生的enum+enums.net 组合在一起使用更好...
- --SoarNo1
- 24. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- 开始以为是 C# 的文章,所以就进来看看。 楼主使用模型的方法的确也是可行的,看完之后感觉开了新的思路。但细想如何应用到项目时,发现如果P6EmployeeLevel 和 P7EmployeeLeve...
- --青出于蓝
- 25. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
用枚举也可以实现策略模式,也可以编排。枚举不一定要求跟switch绑定。本质上是设计模式的运用,不是枚举的问题
- --X1aoHei
- 26. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- @Boys1 那还是招的开发人员水平不高...
- --Lookings
- 27. Re:代码坏味道(一)
博主你好,我看您写的文章都很不错,可以转载您主页里的文章到OpenSNN开源社区吗,我会在转载的文章下标记出处和作者。
- --丿千帆
- 28. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
是不是为了预防Sex枚举多了LGBT啊。。
- --!!!!!!!!!!!!!!!
- 29. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- @Lookings 贫血模型不背锅,你得考虑用人 成本的问题,并且无论是怎么样的代码都会‘腐烂’,设计模式和优化也不过是延迟这个过程...
- --Boys1
- 30. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- 偏颇了,calculateIndemnity 方法 应该 放到一个专门 的计算类 IndemnityCalculater里,参数 为枚举 , 这种逻辑 放到 Employee , 会被 巨量 的逻辑 ...
- --蓝海海蓝
- 31. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- 还是觉得枚举很重要。 枚举是既定的概念,博主这种动态的数据不叫枚举数据,而叫数据集合或代码列表。枚举应该是性别{男,女,其它},而不是国家{中国,美国……},更不是公司部门,或者人员级别。...
- --ensleep
- 32. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- 当然,这段逻辑可能被重复定义,有可能散落在各个Service这个就不应该出现,要么就在Employee让贫血变充血要么就定义EmployeeManager这种类来管理本质并不是对象和枚举的问题,如果你...
- --薛家明
- 33. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- @Lookings 一般公司没有一个主架构,都是自己随意发挥,完成功能就可以。...
- --需要格局
- 34. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- employee.workAge * employee.salary + 10000 这些不是应该来自规则引擎、DB、第三方接口吗 卤煮上面写的这个例子在我看来依旧是hard code啊...
- --槽神
- 35. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
- 主要原因是大多数人面向对象面向了个寂寞,都是贫血模型,类中只有get/set 别的啥也没有,然后就是一个serviceimpl 方法写到黑,导致越来越复杂,本该类自己完成的功能全部写到了外边,没有dd...
- --Lookings
- 36. Re:代码的坏味道(二)——为什么建议使用模型来替换枚举?
这不有点像策略模式了
- --怪物史莱克
- 37. Re:两天完成一个小型工程报价系统(三层架构)
115550556
- --天马2023
- 38. Re:两天完成一个小型工程报价系统(三层架构)
- 你好,能帮我写个跟这个差不多的机械产品加工报价软件吗?,包括基础信息(项目名称,项目编号,客户名称,客户联系人)图纸信息(零件/组合件,材料名称,重量,热处理名称,表面处理名称);工艺信息(这部分人工...
- --天马2023
- 39. Re:浅谈 SOLID 原则的具体使用
博主大大请问你这个图是用什么软件画的
- --YWT_Real
- 40. Re:ASP.NET MVC随想录——创建自定义的Middleware中间件
楼主 请问为啥没有后续文章了呀? 是不是不久之后 .net core 就出来了 所以就不再写 Owin的后续文章了呀?
- --小驴