摘要:
2、给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。 返回你能获得的最大利润 。 示例一: 输入:prices = [7,1,5,3,6,4] 阅读全文
摘要:
给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 阅读全文
摘要:
什么是抽象类和接口?区别在哪里? 下面代码是一个比较典型的抽象类的使用场景(模板设计模式). Logger是一个记录日志的抽象类,FileLogger和MessageQueueLogger继承Logger,分别实现两种不同的日志记录方式:记录日志到文件中和记录日志到消息队列中.FileLogger和 阅读全文
摘要:
关于封装特性 封装也叫作信息隐藏或者数据访问保护.类通过暴露有限的访问接口,受权外部仅能通过类提供的方式来访问内部信息或者数据.它需要编程语言提供权限访问控制语法来支持,例如Java中的private、protected、public关键字. 封装特性存在的意义:一方面是保护数据不被随意修改,提高代 阅读全文
摘要:
什么是面向对象编程? 面向对象编程是一种编程范式或编程风格,它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计的基本单元. 什么是面向对象编程语言? 面向对象编程语言是支持类或对象的语法机制,并且有成熟的语法机制,能方便地实现面向对象编程的四大特性(封装、继承、多态 阅读全文