zoukankan      html  css  js  c++  java
  • Google Code Jam Ignore The Comment

    题目

    总结

    1. 本身不是太难, 难的是想到好的切入点

    2. 所有的代码读入后再做处理

    3. 以 '/' 作为分隔符, 作检查

    代码

    vector<int> nest;
    vector<range> del;
    nest.clear();
    del.clear();
    
    int pos = -1;
    
    for(int i = 0; i < text.size(); i ++)  {
    	if(text[i] == '/')  {
    		if(i > 0 && text[i-1] == '*')  {
    			if(nest.empty()) continue;
    			if(pos == i-1) continue; // last used star
    
    			int left = nest.back();
    			nest.pop_back();
    			if(nest.empty())  {
    				range tn;
    				tn.l = left;
    				tn.r = i;
    				del.push_back(tn);
    			}
    		}  else if (i < text.size()-1 && text[i+1] == '*')  {
    			nest.push_back(i);
    			pos = i+1;
    		}
    	}
    
    	while(!del.empty())  {
    		range td = del.back();
    		text.erase(td.l, td.r-td.l+1);
    		del.pop_back();
    	}
    }
    

      

  • 相关阅读:
    Day10
    Day9
    Day8
    安装出错
    安装步骤
    技术面试
    工作机会查找
    selenium 关于富文本的处理
    selenium查找动态的iframe的name
    eclipse项目debug方法
  • 原文地址:https://www.cnblogs.com/zhouzhuo/p/3682752.html
Copyright © 2011-2022 走看看