CountNonDivisible【遗留问题】

 1         /// <summary>
 2         /// Solution
 3         /// 通过率 100/50
 4         /// </summary>
 5         /// <param name="A"></param>
 6         /// <returns></returns>
 7         public static int[] solution(int[] A)
 8         {
 9             int sum = 0;
10             int[] arr = new int[A.Length];
11             int[] result = new int[A.Length];
12             Dictionary<int, int> dic = new Dictionary<int, int>();
13
14             for (int i = 0; i < A.Length; i++)
15                 arr[i] = A[i];
16
17             Array.Sort(arr);
18
19             for (int i = 0; i < arr.Length; i++)
20             {
21                 if (i < arr.Length - 1 && arr[i] == arr[i + 1])
22                     continue;
23
24                 if (!dic.ContainsKey(arr[i]))
25                 {
26                     sum = 0;
27                     for (int j = 0; j < i; j++)
28                     {
29                         if (arr[i] % arr[j] == 0)
30                             sum++;
31                     }
32                     dic.Add(arr[i], A.Length - sum - 1);
33                 }
34             }
35
36             for (int i = 0; i < A.Length; i++)
37             {
38                 result[i] = dic[A[i]];
39             }
40
41             return result;
42         }
时间: 2024-10-19 03:18:27

CountNonDivisible【遗留问题】的相关文章

遗留代码的测试

遗留代码的测试 在大多时候代码的测试很难,因为很多代码无法进行参数注入,那么这个时候有一款不受限的隔离框架TypeMock供你使用,不过遗憾这款软件是付费的一个隔离框架,有15天的免费使用权,如果能解决你现有的问题我想这份费用并不能算多.TypeMock的官方下载http://www.typemock.com/.下面开始看看TypeMock是怎么样使用的. 1:伪造一个静态的方法来看一个例子 被测试的静态方法 public static int DoSomethingSpecialOnALeap

Linq扩展最后遗留之SelectMany,Zip,SequenceEqual源码分析

Linq扩展最后遗留之SelectMany,Zip,SequenceEqual源码分析 一: AsParallel [并行化查询] 这个函数的功效就是将计算结果多线程化.[并行计算] =>[多核] 二:AsQueryable [将lambda表达式作为数据结构存储起来,Expresstion 表达式树] 三:Join 多表关联操作,我们可以用"查询关键字"解决. 为了更加的脱俗易懂,我们建议用人性化的"查询关键字"来解决这个复杂的Join,lambda. 四:

在Swift中使用遗留的C API

Swift的类型系统的设计目的在于简化我们的生活,为此它强制用户遵守严格的代码规范来达到这一点.毫无疑问这是一件大好事,它鼓励程序员们编写 更好更正确的代码.然而,当Swift与历史遗留的代码库.特别是C语言库进行交互时,问题出现了.我们需要面对的现实是许多C语言库滥用类型,以至于它 们对Swift的编译器并不友好.苹果的Swift团队的确花了不少功夫来支持C的一些基础特性,比如C字符串.但当在Swift中使用历史遗留的C语言 库时,我们还是会面临一些问题.下面我们就来解决这些问题. 在开始之前

对历史遗留代码的维护和再开发

一.时间宽松时的代码维护 对于新人,一般都会留出一段时间进行代码的接手,那么对于如何处理接到手中的代码,是不是只是看看代码.写写心得,还是能够利用这段空闲时间,煅炼提升自己,我期望是后者,结合公司部门的情况,对这种情况进行个人阐释: 1.对现有代码的熟悉.若是对拿到手中的代码,都不知道是做什么的,有什么用,可能就什么意义也没有,后面的也不用看了. 2.加入或者补充测试用例,若是没有测试用例,后面的重构基本上是没办法进行判断是否正确的. 3.用测试用例对代码进行测试,以期达到相关效果和理解代码逻辑

珠海全志公司的 Linux 内核遗留了后门

据外媒 arstechnica 报道,一家中国的芯片级系统厂商全志(allwinner) 在其开发的产品中携带的内核里遗留了一个 root 后门.全志的处理器芯片用在很多低端的 Android 平板.机顶盒.基于 ARM 的 PC 等等之上.而这个后门非常容易获得,只需要给一个未见于文档的调试进程发送一个字符串“rootmydevice” 即可获取该设备的 root 权限. 该后门可能是开发人员调试后忘记移除的.全志公司在知道此消息后,已经从其公司的 Github 账户上删除了相关文件. 该公司

外包公司做遗留项目有意思么?

过年后,在目前公司的工作就要告一段落了,又恰逢年终,终觉得还是要总结点什么,来个了断吧~ 背景介绍 考虑了一下,似乎技术上没有什么太多可说的,再加上外包项目也不能透露太多客户的东西.3年多做得都是同一个Account(客户)下的项目,是客户产品线下的一个数据中心产品,面向数据中心的基础设施用户,也就是国内IDC.产品提供数据中心IT基础设施运维整体解决方案, 属于行业内KVM交换机顶级品牌, 另一家也是美国厂商, 行业内剩下的就是国内中低端的深圳厂商, KVM over IP 还是较有技术含量的

大话重构连载1:遗留系统——软件工业时代的痛

我常常感到幸运,我们现在所处的是一个令人振奋的时代,我们进入了软件工业时代.在这个时代里,我们进行软件开发已经不再是一个一个的小作坊,我们在进行着集团化的大规模开发.我们开发的软件不再是为某个车间.某个工序设计的辅助工具,它从某个单位走向整个集团,走向整个行业,甚至整个社会,发挥着越来越重要的作用.一套软件所起到的作用与影响有多大,已经远远超越了所有人的想象,成为一个地区.一个社会,乃至整个国家不可或缺的组成部分.慢慢地,人们已经难以想象没有某某软件或系统的生活和工作会是怎样的.这就是软件工业时

应用MVP模式对遗留代码进行重构

AV(Autonomous View)自治视图 在面向终端用户的应用中,都需要一个可视化的UI来与用户交互.这个UI称为View视图. 在早期,我们习惯将所有前台的逻辑,与视图揉在一起,称为AV自治视图. 这些逻辑包括:数据呈现(Display),用户动作的扑捉与响应,数据存储等. 在.Net的Winform和ASP.NET Web Form中,采用的都是事件驱动模型. AV是将所有UI相关的逻辑都注册到视图本身,或者视图元素对应的事件上. 人机交互应用的3个关注点. 数据在UI上的展示. UI

linux 遗留问题

1. yum命令,yum源配置与使用 linux 遗留问题,布布扣,bubuko.com