arts打卡 从排序数组中删除重复项
Posted prader6
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arts打卡 从排序数组中删除重复项相关的知识,希望对你有一定的参考价值。
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。
[email protected] 包含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打卡 从排序数组中删除重复项的主要内容,如果未能解决你的问题,请参考以下文章