初级程序员遇见编程难题,特求教各位大神先谢谢各位了
真的?小妹上来问作业被老师我知道了是会fail的
■网友
以优雅优先的取巧写法(假设数字不超过Integer范围)/** * 存放范围内所有数字的set */public static Set\u0026lt;Integer\u0026gt; rangeSet = new HashSet\u0026lt;Integer\u0026gt;();/** * 处理一段数字,找出最大、最小值,依次放入set中 * @param segment void */public static void handleSegment(String segment){\tInteger min = 2147483647;\tInteger max = -2147483647;\tInteger tempNum = null;\t// 获取segment中所有的数字,计算出最大最小值,作为范围\tString cells = segment.split("-");\tfor (int i = 0; i \u0026lt; cells.length; i++)\t{\t\tif (!cells.equals(""))\t\t{\t\t\ttempNum = Integer.valueOf(cells);\t\t\tif (tempNum \u0026gt;= max)\t\t\t{\t\t\t\tmax = tempNum;\t\t\t}\t\t\tif (tempNum \u0026lt;= min)\t\t\t{\t\t\t\tmin = tempNum;\t\t\t}\t\t}\t}\t// tempNum不为null,表示至少存在一个数字,依次放入set中\tif (null != tempNum)\t{\t\tfor (int i = min; i \u0026lt;= max; i++)\t\t{\t\t\trangeSet.add(i);\t\t}\t}}/** * @param args void */public static void main(String args){\tString inputStr = "1220,--1213---1215--,,----20,30---,30,26------32,,,,22,,";\tString segments = inputStr.split(",");\tfor (int i = 0; i \u0026lt; segments.length; i++)\t{\t\thandleSegment(segments);\t}\tSystem.out.println(rangeSet.size());} 【初级程序员遇见编程难题,特求教各位大神先谢谢各位了】
推荐阅读
- 招聘都要学历,何来程序员不看学历
- 银行系统的研发岗(程序员)是不是很难进(校招)推广到国企的研发岗(程序员)呢
- 坐标合肥,请问在哪里能捕捉到程序员这种生物他们大都出现在哪里呢
- 怎样成为一名合格的Python程序员?
- 送程序员男友苹果无线耳机还是专业品牌耳机
- 女程序媛怎样追求男程序员
- 阿里程序员网上招人的情况为何如此多见
- 朋友圈权限被破解,怎样反破解
- 中兴跳楼,激发了女程序员转行的想法
- 电商的初级产品经理怎样快速获取需求
