Algorithm

从排序数组中删除重复项
 
 

给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

示例 1:

给定数组 nums = [1,1,2], 

函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 

你不需要考虑数组中超出新长度后面的元素。

示例 2:

给定 nums = [0,0,1,1,1,2,2,3,3,4],

函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。

你不需要考虑数组中超出新长度后面的元素。

说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以“引用”方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝
int len = removeDuplicates(nums); // 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。
for (int i = 0; i < len; i++) {
    print(nums[i]);
} 解答:
class Solution {
public int removeDuplicates(int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
int back = 0;
for (int front = 1; front < nums.length; front++) {
if (nums[back] != nums[front]) {
back++;
nums[back] = nums[front];
}
}
return back + 1;
} }

我想了下如果输入的数组,有没有{1,2,1,3,3,1}这种,非连续重复 的可能性。。虽然这种可能性存在,但是没有做出来。

Review

文章是Spring新建Restful webService 的介绍。https://spring.io/guides/gs/rest-service/#scratch

知识点:

1  Restful webService 和传统的mvc controller的区别是 Restful webService 关键在于http相应体的创建方式。Restful webService 不是视图的方式返回返回相应体而是直接 返回一个对象。对象是通过 json 的方式,写到http响应中。 我们不用手动的吧对象转化成 json格式是因为 MappingJackson2HttpMessageConverter  自动帮我们吧对象做了转化。

2 @EnableAutoConfiguration 告诉springboot 在根路径上寻找其他bean和配置文件。

3 @ComponentScan 告诉spring在根目录下寻找其他的配置和service,允许他们找到controller。

4@SpringBootApplication   包含3个注解: @ComponentScan  @EnableAutoConfiguration  @Configuration

Tip

java用freemaker 导出word。其中的关键点在于,制作模板。可以在ideal中制作ftl格式的模板,,在模板中 列表的每一张都有 <w:tr> 标签。。还有要注意的地方是${} 在模板中最好不要,留下 }单独在一行,这样会报错。参考链接:https://www.cnblogs.com/prader6/p/10562156.html

Share

mysql 查询优化实战:https://mp.weixin.qq.com/s?__biz=MzIwMTY0NDU3Nw==&mid=2651938458&idx=1&sn=249d03425789110e4921f53ef1b1952a&chksm=8d0f31d4ba78b8c22ec64e28fe39889f5ddc2db60a461e399a66d1725e2daf505be7505595d3&mpshare=1&scene=1&srcid=&key=32072adf498bfba6de7b82018eb4fd5ec76adbde5d4e7a541d05b171081a115793cd84dbc389582cfe5d4aa9b81c46e226e95176f7e8b62ea4b157ea0b648ea93c8ffec3a12018e57df6303d15b1af3b&ascene=1&uin=NjY5NzE2NzA5&devicetype=Windows+10&version=62060739&lang=zh_CN&pass_ticket=xsdm7lSVSaYFACsc%2B7V%2FId8J7ynIWL0j2bRj6V8WeiOnsc6IrVLmQwIW7nGp7rnl

总结:1 mysql 语句执行顺序是先执行括号外部的语句再执行括号内部的语句。

2  给要查询的列加索引可以极大的提升查询效率。

  • where条件字段上需要建立索引

  • 排序字段上需要建立索引

  • 分组字段上需要建立索引

  • Where条件上不要使用运算函数,以免索引失效

arts打卡 从排序数组中删除重复项的更多相关文章

  1. leetCode----day01---- 从排序数组中删除重复项

    需求: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. ...

  2. 【LeetCode】从排序数组中删除重复项

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示例 1 ...

  3. leetcode 从排序数组中删除重复项

    最近的学习是相当的无聊,并且很无趣,每天都浪费了很多时间,比如今天下午,就是搞一手成语接龙,我也是醉了- 并且我也不知道学什么了,所以决定刷题 虽然我是0算法基础,0逻辑能力的渣渣,但是尽力每天做一道 ...

  4. 026 Remove Duplicates from Sorted Array 从排序数组中删除重复项

    给定一个有序数组,你需要原地删除其中的重复内容,使每个元素只出现一次,并返回新的长度.不要另外定义一个数组,您必须通过用 O(1) 额外内存原地修改输入的数组来做到这一点.示例:给定数组: nums ...

  5. LeetCode:删除排序数组中的重复项||【80】

    LeetCode:删除排序数组中的重复项||[80] 题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原 ...

  6. Leetcode_删除排序数组中的重复项

    Leetcode  删除排序数组中的重复项 题目: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用 额外的数组空间,你必须在原地修改输入数 ...

  7. LeetCode 80. 删除排序数组中的重复项 II

    LeetCode 80. 删除排序数组中的重复项 II

  8. leecode刷题(1)-- 删除排序数组中的重复项

    删除排序数组中的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的 ...

  9. 前端与算法 leetcode 26. 删除排序数组中的重复项

    目录 # 前端与算法 leetcode 26. 删除排序数组中的重复项 题目描述 概要 提示 解析 算法 # 前端与算法 leetcode 26. 删除排序数组中的重复项 题目描述 26. 删除排序数 ...

随机推荐

  1. 周一01.2 计算机硬件&操作系统

    一.计算机硬件组成 1)控制器:是计算机的指挥系统 2)运算器:数学运算&逻辑运算 3)存储器:存取数据 内存:相当于人的短期记忆(缺点:断电数据会丢失:优点:存取速度快) 外存:相当于一个本 ...

  2. 【Spring源码分析系列】ApplicationContext 相关接口架构分析

    [原创文章,转载请注明出处][本文地址]http://www.cnblogs.com/zffenger/p/5813470.html 在使用Spring的时候,我们经常需要先得到一个Applicati ...

  3. Android框架式编程之RxJava(一):HelloWorld

    Hello World 源码: import android.graphics.Bitmap; import android.graphics.BitmapFactory; import androi ...

  4. CSS揭秘—透明边框(一)

    前言: 所有实例均来自<CSS揭秘>,该书以平时遇到的疑难杂症为引,提供解决方法,只能说秒极了,再一次刷新了我对CSS的认知 该书只提供了关键CSS代码,虽然有在线示例代码链接,但访问速度 ...

  5. Servlet+JSP及Tomcat常见面试题(面试必备)

    1.  什么是servlet? servlet是用来处理客户端请求并产生动态网页内容的java类 2.  Tomcat的缺省端口是多少,怎么修改? a)      默认端口号是8080 b)      ...

  6. pandas操作

    python中使用了pandas的一些操作,特此记录下来: 生成DataFrame import pandas as pd data = pd.DataFrame({ 'v_id': ["v ...

  7. Spring之旅第三篇-Spring配置详解

    上一篇学习了IOC的概念并初步分析了实现原理,这篇主要学习Spring的配置,话不多说,让我们开始! 一.Bean元素配置 1.1 基本配置 看一个最基本的bean配置 <bean name=& ...

  8. 目标检测 IOU(交并比) 理解笔记

    交并比(Intersection-over-Union,IoU): 目标检测中使用的一个概念 是产生的候选框(candidate bound)与原标记框(ground truth bound)的交叠率 ...

  9. java jdk 8反编译工具JD-GUI、procyon-decompiler、luyten、crf下载使用简介

    本文对常用的反编译工具进行简单介绍 JD-GUI.procyon-decompiler.luyten.crf   反编译工具分类 JD-GUI JDK7以及之前可以使用   JD-GUI,如果版本&g ...

  10. Spring Boot 2.x(十一):AOP实战--打印接口日志

    接口日志有啥用 在我们日常的开发过程中,我们可以通过接口日志去查看这个接口的一些详细信息.比如客户端的IP,客户端的类型,响应的时间,请求的类型,请求的接口方法等等,我们可以对这些数据进行统计分析,提 ...