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 };
  • 相关阅读:
    protobuf配置与使用
    gvim配置
    html div+css做页面布局
    php info
    开源相关工具汇总
    mem 0908
    linux dd指令
    java面试(2)--大数据相关
    Java基础面试题(1)
    转自ruby迷: 使用Net::SSH和Net::SCP编写Linux服务器管理脚本
  • 原文地址:https://www.cnblogs.com/rogarlee/p/3449240.html
Copyright © 2011-2022 走看看