大家今晚腾讯的模拟考怎么样?

凉了,考的一塌糊涂,最后一题编程没有思路。
全部评论
被美团虐过之后感觉好简单QAQ
点赞 回复 分享
发布于 2018-03-23 22:08
最后一题通过了 77.77%,不知道错在哪里了 ``` #include <iostream> #include <map> using namespace std; map<long long int, int> ma; int solve(long long int n) {     if (n == 0LL) return 0;     if (n == 1LL) return 1;     if (ma[n] != 0) return ma[n];     if (n % 2 == 1) {         int ans = solve((n-1) / 2) + solve((n-1) / 2 + 1);         ma[n] = ans;         return ans;     } else {         int ans = solve(n / 2);         ma[n] = ans;         return ans;     } } int main() {     long long int n;     while(cin >> n) {         cout << solve(n+1) << endl;     }     return 0; } ```
点赞 回复 分享
发布于 2018-03-23 22:09
数据分析第一次坐到这么对口的题。。。
点赞 回复 分享
发布于 2018-03-23 22:09
我这样做比较简单 public class Solution { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int[][] array=new int[n][8]; for (int i = 0; i < n; i++) { for (int j = 0; j <8 ; j++) { array[i][j]=sc.nextInt(); } } for (int i = 0; i < n; i++) { System.out.println(isNum(array[i])?"Yes":"No"); } } public static boolean isNum(int[] array){ int[] a=new int[4]; int[] b=new int[4]; for (int i = 0; i <array.length ; i++) { if(i<4){ a[i]=array[i]; }else{ b[i-4]=array[i]; } } Arrays.sort(a); Arrays.sort(b); if((a[1]-a[0]==a[3]-a[2])&&(b[1]-b[0]==b[3]-b[2])) { return true; } return false; } }
点赞 回复 分享
发布于 2018-03-23 22:28
function toSqrt(number) {     // 取平方根    return Math.sqrt(number) } function toPow (number) {     // 求平方    return Math.pow(number, 2) } function toAbs(number) {     // 求绝对值          return Math.abs(number) } var n = readline(); var ans ="NO"; for(let i = 0; i < n; i++){    let linesX = readline().split(" ");    let linesY = readline().split(" ");    var vectorLength = [];    for(let i = 0; i < 4; i++) {         for(let j = 0; j < i; j++) {                          let vector = {                                 x: linesX[j] - linesX[((j+1)%4)],                                  y: linesY[j] - linesY[((j+1)%4)]                          };             let newVectorLength = toSqrt(toPow(vector.x) + toPow(vector.y));             vectorLength.push(newVectorLength);         }    }    vectorLength = vectorLength.sort()    if(vectorLength[0] == vectorLength[3]      && vectorLength[4] == vectorLength[5]      && toAbs(2 * toPow(vectorLength[0]) - toPow(vectorLength[4])) <= Math.pow(1, -10)     ) {         ans ="YES"    }          print(ans) } 之后想到的 js比较暴力的方法 也不知道有没有优化的额
点赞 回复 分享
发布于 2018-03-24 00:50
尴尬了 第一题怎么做
点赞 回复 分享
发布于 2018-03-23 22:07
这个成绩没影响的吧?
点赞 回复 分享
发布于 2018-03-23 22:08
没做。。
点赞 回复 分享
发布于 2018-03-23 22:08
我选的前端 一道题没考 真的前端一道题没考。。。。。
点赞 回复 分享
发布于 2018-03-23 22:09
第一题的话就是判断是否存在两个角平分线垂直相交的情况就好了
点赞 回复 分享
发布于 2018-03-23 22:11
#include<stdio.h> #include<iostream> #include<algorithm> #include<math.h> #include<vector> using namespace std; class Solution { public:     int lengthl(int x1, int y1, int x2, int y2) {         return sqrt((y2 - y1)*(y2 - y1) + (x2 - x1)*(x2 - x1));     }     void isSquare(const vector<int>& x, const vector<int>& y) {         vector<int> tmpLength;         int flag = 0;         for (int i = 0; i < 4; i++) {             for (int j = i + 1; j < 4; j++) {                 tmpLength.push_back(lengthl(x[i], y[i], x[j], y[j]));             }         }         sort(tmpLength.begin(), tmpLength.end());         if (tmpLength[0] == tmpLength[1]==tmpLength[2] && tmpLength[4] == tmpLength[5] && tmpLength[4] > tmpLength[0]) {             cout << "Yes" << endl;         }         else {             cout << "No" << endl;         }     } }; int main() {     int n;     while (cin >> n) {         vector<int> x;         vector<int> y;         for (int i = 0; i < 4; i++) {             int tmp;             cin >> tmp;             x.push_back(tmp);         }         for (int i = 0; i < 4; i++) {             int tmp;             cin >> tmp;             y.push_back(tmp);         }         Solution s;         s.isSquare(x, y);         while (1);         return 0;     } } 完了做的,不知道对不了
点赞 回复 分享
发布于 2018-03-23 22:19
第二题什么2的k次方返回几种是什么类型的题呀?
点赞 回复 分享
发布于 2018-03-23 22:21
n = int(raw_input()) n1 = 2*n h = [[]*4]*n1 for x in range(n1):     h[x] = map(int,raw_input().split())      for i in range(0,n1,2):     b = []     for j in range(4):         for k in range(j+1,4):             longs = h[i][j]-h[i][k]             longs1 = h[i+1][j]-h[i+1][j]             sums = longs*longs + longs1*longs1             if sums in b:                 break             else:                 b.append(sums)     if len(b) == 2:         print 'Yes'     else:         print 'No' 第一题,不知道怎么样,最后没粘上去,自己试是可以
点赞 回复 分享
发布于 2018-03-23 22:22
今天只是模拟考啦。
点赞 回复 分享
发布于 2018-03-23 22:23
模拟考应该不做参考吧?
点赞 回复 分享
发布于 2018-03-23 22:23
这模拟考能看结果吗
点赞 回复 分享
发布于 2018-03-23 22:27
有没有人教教我第二题怎么做啊
点赞 回复 分享
发布于 2018-03-23 22:31
四条边相等,对角线相等
点赞 回复 分享
发布于 2018-03-23 22:32
第二题背包
点赞 回复 分享
发布于 2018-03-23 22:34
为啥我的没有编程题?只有两道简答题
点赞 回复 分享
发布于 2018-03-23 22:42

相关推荐

28小凳也想实习:项目不用一个业务一个轮子吗,刷牛客好多人说要一业务一轮子
点赞 评论 收藏
分享
2024-12-26 13:00
太原理工大学 Java
会飞的猿:简历没啥大问题啊,感觉是缺少了实习经历。多投投先找个中小厂过渡一下吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务