您当前的位置: 首页 > 

TechGuide

暂无认证

  • 2浏览

    0关注

    176博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【2022-09-14】携程秋招笔试四道编程题

TechGuide 发布时间:2022-09-15 00:01:14 ,浏览量:2

恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经,目前已更新至美团、微软… 作者@TechGuide【全网同名】 点赞再看,养成习惯,您动动手指对原创作者意义非凡🤝

第一题:切披萨 题目描述

游游拿到了一个边长为n的正方形披萨,她准备切k刀(每刀只能横着或竖着切开),最终会形成若干个小矩形披萨。

游游希望每个小披萨的面积相等,且矩形的长和宽的差的绝对值尽可能小。你能帮游游求出每个小矩形的面积吗?

输入描述

两个正整数n和k,用空格隔开。11; int y = k-x; double res = (v*v)/((x+1)*(y+1)); System.out.printf("%.2f%n",res); } } // vx公众号关注TechGuide 实时题库 闪电速递 Python版本

n, k = map(int, input().split())
if k == 1:
    print('%.2f' % (n * n / 2))
else:
    m = k // 2
    a = n / (m + 1)
    b = n / (k - m + 1)
    print('%.2f' % (a * b))
# vx公众号关注TechGuide 实时题库 闪电速递
CPP版本
#include 

using namespace std;

int main() {
  int n, k;
  cin >> n >> k;

  float s = 0.0;
  if (k % 2 == 0) {
    float parts = k / 2 + 1;
    s = n / parts * n / parts;
  }
  else {
    float partsw = (k - 1) / 2 + 1;
    float partsl = (k + 1) / 2 + 1;
    s = n * n / (partsw * partsl);
  }
  printf("%0.2f", s);

  return 0;
}
// vx公众号关注TechGuide 实时题库 闪电速递
第二题:01矩阵 题目描述

游游拿到了一个2行2列的01矩阵a,她每次操作可以交换a的相邻两个元素(同一行或者同一列均为相邻)。

游游想知道至少要多少次操作可以使得矩阵a变成矩阵b?

输入描述

共有t组询问。第一行输入一个正整数t1; for (int j = 0; j >1) bw.write("-1"); else bw.write(Integer.toString(time)); if(i>1; int res = Integer.MAX_VALUE>>1; for (int[] ints : dist) { swap(x,y,x+ints[0],y+ints[1],a); res = Math.min(res,getTime(a,b,(y==1?x+1:x),(y==1?0:y+1))+1); swap(x,y,x+ints[0],y+ints[1],a); } return res; } private static void swap(int x, int y, int x1, int y1, int[][] a) { if(x11||y11)return; int k = a[x][y]; a[x][y] = a[x1][y1]; a[x1][y1] = k; } private static boolean isVaild(int[][] a, int[][] b) { for (int i = 0; i t; for (int i = 0; i mata[j]; for (int j = 0; j > matb[j]; int check = 0; for (int j = 0; j

关注
打赏
1665329535
查看更多评论
立即登录/注册

微信扫码登录

0.0461s