LeetCode(27)-Remove Element
2016-04-06 15:33
337 查看
题目
Given an array and a value, remove all instances of that value in place and return the new length. Do not allocate extra space for another array, you must do this in place with constant memory. The order of elements can be changed. It doesn't matter what you leave beyond the new length. Example: Given input array nums = [3,2,2,3], val = 3 Your function should return length = 2, with the first two elements of nums being 2. Hint: Try two pointers. Did you use the property of "the order of elements can be changed"?Show More Hint
思路
首先题意是要把数组中的给定值移到后面,同时返回最后一个非给定值的坐标设置两个变量i,j,i负责遍历数组,比较和给定值相同不
如果不同,把nums【j++】 = nums【i】;相同不做,j负责指向最后一个非给定值的坐标
-
代码
public class Solution { public int removeElement(int[] nums, int val) { int n = nums.length; int j = 0; for(int i = 0;i < n;i++){ if(nums[i] != val){ nums[j++] = nums[i]; } } return j; } }
相关文章推荐
- LeetCode *** 53. Maximum Subarray
- ReactNative学习十一-手写Item布局
- css的负边距(margin负值)的绝招
- 原生js制作日历控件实例分享
- 彻底删除MySQL
- 初级用户体验设计师可以向其他合作伙伴学习什么?(运营&PD篇)
- Nesty 高性能轻量级Http Restful Server
- 详解window.history
- Nginx Location配置总结
- Caffe学习系列(14):初识数据可视化
- MySql避免重复插入记录
- JPA criteria 查询:类型安全与面向对象
- 每个C++开发者都应该使用的十个C++11特性
- UITableViewCell 基础编
- Hadoop主要配置文件深入理解
- 王道求职宝典,硬币分发问题,采用深度优先搜索算法
- SpringMVC的静态资源无法请求到的解决办法
- 手写观察者
- 写了个pager, 可供参考
- Mock.js:前后端分离开发工具