网易校招(前端编程)

三道编程 前2道AC,第三道刚一看题,心中窃喜(昨天京东笔试题类似),结果一做,瞬间蒙逼.
1.魔法币(AC)
//思路:倒着想

public class no2 {
    public static void main(String[] args) {
        Scanner s = new Scanner( System.in );
        int x=s.nextInt();
        StringBuffer buffer=new StringBuffer(  );
        while(x!=0)
        {
            if(x%2==0)
            {
                x=(x-2)/2;
                buffer.append( "2" );
            }
            else
            {
                x=(x-1)/2;
                buffer.append( "1" );
            }
        }
        System.out.println(buffer.reverse());
    }
}

2.字符串碎片(AC)


网易校招(前端编程)_第1张图片

注意的就是要四舍五入保留两位小数

package 网易校招;

import java.util.Scanner;

/* Created by JackHui on 2017/9/9.*/
public class no1 {
    public static void main(String[] args) {
    Scanner s=new Scanner( System.in );
        double count=0;
        double spcount=0;
        StringBuffer buffer=new StringBuffer(  );
        buffer.append( s.nextLine() );
if(buffer.length()!=0) {
    for (int j = 0; j < buffer.length() - 1; j++) {
        if (buffer.charAt( j ) == buffer.charAt( j + 1 )) {
            count++;
        } else {
            count++;
            spcount++;
        }
    }
    count++;
    spcount++;
}
        double result1=count/spcount;
        String result=String.format( "%.2f",result1 );
        System.out.println(result);
    }
}

3.最长公共子括号序列
大神做法(C++)
分析:
因为长度相同,并且也是合法的括号序列,所以正反括号数跟原来一样。我们考虑在原序列上枚举一个字符,把这个插入到序列的某个位置去,其他序列相对顺序不变,,这样就可以让LCS最大,然后我们判断一下是否合法,丢进set去重就好了。

using namespace std;
string s;
int main() {  
cin >> s;
set S;
int len = s.size();
for
(int i =0 ; i < len; i++) {  
string w = s.substr(0, i) + s.substr(i +1);       
for(int j =0; j < len -1; j++) {            
string u = w.substr(0, j) + s[i] + w.substr(j);            
int tmp =0;            
for(intk =0; k < len; k++) {               
tmp += (u[k] =='('?1: -1);                
if(tmp <0) {  
break; }          
}            
if(tmp >=0) {               
S.insert(u);            
}
}    
}    
cout << (int)S.size() -1<< endl;
return0;
}

你可能感兴趣的:(网易校招(前端编程))