zoukankan      html  css  js  c++  java
  • Remove Element @leetcode

    http://oj.leetcode.com/problems/remove-element/

    !特征向量的思想,尽管有点大材小用,但是我的确是从djstla中获得的灵感。

     1 class Solution {
     2 public:
     3     int removeElement(int A[], int n, int elem) {
     4         int *b = new int[n+1];
     5         b[0] = 0;
     6         for(int i = 0;i < n;++i){
     7             if(A[i] == elem){
     8                 b[i+1] = b[i]+1;
     9             }
    10             else {
    11                 b[i+1] = b[i];
    12             }
    13         }
    14 
    15         for(int i =0 ;i< n;++i){
    16             A[i - b[i]] = A[i];
    17         }
    18         int res = n - b[n];
    19         delete []b;
    20         return res;
    21     }
    22 };

    !ac后重新审视自己的代码,总能发现更好的方式。而福尔摩斯不需要纸和笔,所有的这一切只要想就可以得到结果。记得《血色研究》中写道,同时代的侦探不乏,然后举了一个侦探SCM调查案件的过程,最后添了一句话:“而这一切福尔摩斯只是在抽一抖烟中解决了”。这就是我和大牛的区别。

     1 class Solution {
     2 public:
     3     int removeElement(int A[], int n, int elem) {
     4         int tmp = 0;
     5         for(int i = 0;i < n;++i){
     6             if(A[i] == elem){
     7                 A[i-tmp] = A[i];
     8                 tmp++;
     9             }
    10             else{
    11                 A[i-tmp] = A[i];
    12             }
    13         }
    14         return n - tmp;
    15     }
    16 };
  • 相关阅读:
    scala-隐式转换
    scala-泛型
    scala-模式匹配
    scala-LinkedList
    scala-高阶函数
    scala-数组/列表
    scala-map
    scala语法
    机器学习笔记
    Day 1 下午
  • 原文地址:https://www.cnblogs.com/rogarlee/p/3449240.html
Copyright © 2011-2022 走看看