8-26汇顶科技笔试编程:大写→小写→数字→其他

一直40%,好郁闷

求一个ac的代码

秋招以来做过最简单的笔试。。。简单才郁闷啊。。。

如果题很难,我就坦然了

明明觉得他很简单啊
#汇顶科技##笔试题目#
全部评论
这个吗😂😂😂
点赞 回复 分享
发布于 2019-08-26 20:40
base64?我人都傻了,后面想起来java有base64工具类直接用了。。
点赞 回复 分享
发布于 2019-08-26 20:23
暴力,100%
点赞 回复 分享
发布于 2019-08-26 20:25
暴力就能过啊
点赞 回复 分享
发布于 2019-08-26 20:29
转成二进制,按六位二进制转成十进制,然后直接取数,看情况加=,AC import java.util.Scanner; public class Main {     public static void main(String[] args){         String data=input();         String res=cal(data);         System.out.println(res);     }     private static String cal(String data) {         String s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";         StringBuilder binary=tranferBinary(data);         if(data.length()%3==1){             while (binary.length()%6!=0){                 binary.append("0");             }             StringBuilder builder=new StringBuilder(cal3(binary,s));             builder.append("==");             return builder.toString();         }         else if(data.length()%3==2){             while (binary.length()%6!=0){                 binary=binary.append(0);             }             StringBuilder builder=new StringBuilder(cal3(binary,s));             builder.append("=");             return builder.toString();         }         else {             return cal3(binary,s);         }     }     private static String cal3(StringBuilder data,String pattern){         int flag=0;         StringBuilder res=new StringBuilder();         StringBuilder temp=new StringBuilder();         for(int i=0,length=data.length();i<length;i++){             temp.append(data.charAt(i));             flag++;             if(flag%6==0){                 int index=Integer.parseInt(temp.toString(),2);                 res.append(pattern.charAt(index));                 temp=new StringBuilder();             }         }         return res.toString();     }     private static StringBuilder tranferBinary(String data){         char[] chars=data.toCharArray();         StringBuilder builder=new StringBuilder();         for(char temp:chars){             String s=Integer.toBinaryString((int)temp);             if(s.length()<8){                 for(int i=s.length();i<8;i++){                     builder.append("0");                 }             }             builder.append(s);         }         return builder;     }     private static String input() {         Scanner sc=new Scanner(System.in);         return sc.nextLine();     } }
点赞 回复 分享
发布于 2019-08-26 20:34
#include <iostream> #include <vector> using namespace std; int main() {     string str;     while(cin>>str)     {         vector<char> temp1;         vector<char> temp2;         vector<char> temp3;         vector<char> temp4;         vector<char> res;         for(int i=0;i<str.size();i++)         {             if(str[i]>='A'&&str[i]<='Z')             {                  temp1.push_back(str[i]);                }             else if(str[i]>='a'&&str[i]<='z')             {                  temp2.push_back(str[i]);                }             else if(str[i]>='0'&&str[i]<='9')             {                  temp3.push_back(str[i]);                }             else             {                 temp4.push_back(str[i]);             }         }         res.clear();         for(int i=0;i<temp1.size();i++)             res.push_back(temp1[i]);         for(int i=0;i<temp2.size();i++)             res.push_back(temp2[i]);         for(int i=0;i<temp3.size();i++)             res.push_back(temp3[i]);         for(int i=0;i<temp4.size();i++)             res.push_back(temp4[i]);                  for(int i=0;i<res.size();i++)             cout<<res[i];         cout<<endl;     }     return 0; }
点赞 回复 分享
发布于 2019-08-26 20:36
import java.util.Scanner; public class Main {     private static Scanner sc = new Scanner(System.in);     private final String line = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";     public static void main(String[] args) {         new Main();     }     Main() {         String str = sc.nextLine();         char[] charArray = str.toCharArray();         String binStr = "";         for (char c : charArray) {             String temp = Integer.toBinaryString(Integer.valueOf(c));             while (temp.length() != 8) {                 temp = "0" + temp;             }             binStr += temp;         }         while (binStr.length()%6 != 0) {             binStr += "0";         }         StringBuilder sb = new StringBuilder();         for (int i=0; i<binStr.length()/6; i++) {             String bin = binStr.substring(i*6, i*6 + 6);             int index = Integer.valueOf(bin, 2);             sb.append(line.substring(index, index+1));         }         if (str.length()%3 != 0) {             for (int i=0; i<3-str.length()%3; i++) {                 sb.append("=");             }         }         System.out.println(sb.toString());     } }
点赞 回复 分享
发布于 2019-08-26 21:11
import java.util.Scanner; /**  * @author Shayne  * @date 2019-08-26  */ public class Main {     public static void main(String[] args) {         String map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";         Scanner sc = new Scanner(System.in);         while (sc.hasNextLine()) {             String str = sc.nextLine();             if (str == null || str.equals("")) {                 System.out.println("输入有误,请重新输入");                 continue;             }             String last = "";             if (str.length() % 3 == 1) {                 last += "==";             } else if (str.length() % 3 == 2) {                 last += "=";             }             String binaryStr = "";             for (int i = 0; i < str.length(); i++) {                 String binary = Integer.toBinaryString(str.charAt(i));                 binaryStr += String.format("%08d", Integer.valueOf(binary));             }             if (binaryStr.length() % 24 != 0) {                 binaryStr += String.format("%0" + (24 - binaryStr.length() % 24) + "d", 0);             }             String result = "";             for (int i = 0; i < binaryStr.length() / 6; i++) {                 String tmp = binaryStr.substring(i * 6, (i + 1) * 6);                 Integer index = Integer.parseInt(tmp,2);                 result += map.charAt(index);             }             System.out.println(result.substring(0, result.length() - last.length()) + last);         }     } }
点赞 回复 分享
发布于 2019-08-26 21:21
你们收到简历更新邮件了吗
点赞 回复 分享
发布于 2019-08-27 06:51
老哥们,汇顶科技这公司怎样啊?
点赞 回复 分享
发布于 2019-08-27 09:03

相关推荐

牛客鼠:校友你这简历基本无敌了,春招刷刷题去冲大厂
点赞 评论 收藏
分享
评论
1
6
分享

创作者周榜

更多
牛客网
牛客企业服务