跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 自己上班期间答的机试题,写的不是很好,公司在上海。如图
未分類
21 2 月 2021

自己上班期间答的机试题,写的不是很好,公司在上海。如图

自己上班期间答的机试题,写的不是很好,公司在上海。如图

資深大佬 : KomiSans 2

自己上班期间答的机试题,写的不是很好,公司在上海。如图 自己上班期间答的机试题,写的不是很好,公司在上海。如图 自己上班期间答的机试题,写的不是很好,公司在上海。如图 自己上班期间答的机试题,写的不是很好,公司在上海。如图 自己上班期间答的机试题,写的不是很好,公司在上海。如图 自己上班期间答的机试题,写的不是很好,公司在上海。如图 后面两张是我自己答的,在最后 txt 发给他告诉他答完了之后就没再理我,可能是已经满了,也可能是我答的太烂了

大佬有話說 (8)

  • 資深大佬 : jworg

    如果是我的话,这个菱形是有规律的,两个等差数列减去一个最后一项,然后个数就是 n^2+n+1<(n+1)^2,然后对于 14 就是,14 开方近似 3,最长一行在 3,个数是 2*3 -1 =5,总个数是 13,剩余 1,菱形的中心点是 ( 3,3 ),然后打印

  • 主 資深大佬 : KomiSans

    @jworg 我这个主要是从最小的那个中间的点数开始算,一点点扩展成菱形,把数量离着给定数值最近的那个获取就好,所以点数是递增 2 的

  • 資深大佬 : Sunyanzi

    第一题还挺有趣的 … 但我没看懂你的写法 … 我吃饱了也没事自己写了一版如下 …

    i.imgur.com/nYGhFDJ.png

    打菱形的过程随便写的 … 直觉觉得还有优化空间 … 但不在核心算法里我就懒得做了 …

    以及最后算总量的那个 u 其实也可以套公式求 … 但我想来想去感觉还是直接累加比较容易就累加了 …

    供参考 …

  • 資深大佬 : young1lin

    第一个好像是我记得上学的时候学 C 的时候的作业的变形版。

  • 主 資深大佬 : KomiSans

    @Sunyanzi 神人啊,说老实话我也不大能看懂你的写法,从 f 变量就没太看明白,但是你写的代码比我简化了不少

  • 資深大佬 : lecher

    不考虑解法,这三道题考察的是应届生水平。
    初筛的标准可以猜测是:
    1. 具备基本的 java 语法基础
    2. 具备基本的 sql 查询和联表基础

    可以说是很简单的题目了,考察到的知识点有这几个
    1. java 的循环,双重循环,知道找规律,星号和空格的等差数列规则,知道从循环剥离计算规则和打印的处理封装估计会加分。
    2. 知道查询的写法,知道 order by,知道 limit,知道子查询,知道如何优化子查询会加分
    3. 知道联表的写法,知道 group by,知道子查询,知道如何优化联表会加分

    大致就这些,这算是很务实的笔试题了,考察的都是基本知识点。

  • 資深大佬 : Sunyanzi

    @KomiSans f 求的是初始状态左上角空格的数量 … 即从最顶端到最长一行的距离 …

    从下面的代码也可以看到 … 实际打印的空格数量在变量 c 里 … 随循环逐级递减再递增 …

    f 的另一种等效的写法是 int f = 0 – (int)( 2 – Math.sqrt( 4 + 8 * ( n – 1 ) ) ) / 4 …

    个人感觉没有我现在的版本好看 … 就没选这个写法 …

    以及神人不敢当 … 九年义务教育学以致用而已 …

  • 資深大佬 : copper20

    第一题主要还是找规律吧,我吃饱了没事也稍微讲一下我的想法吧,思路和 @Sunyanzi 是一样的应该。

    算法的核心还是在找到需要打印的菱形。

    有 i + 1 行的菱形所需要的 ‘*’ 的数量是:当中哪那一行 ‘*’ 的数量 + 2 * 第一行到当中那一行 ‘*’ 数量的和,也就是 (2i+1) + (1 + 3 + … + 2i – 1),化简一下就是 2i^2 + 2i + 1 。

    所以问题就变成了求使 2i^2 + 2i + 1 <= N (i >= 0) 成立的所有 i 中最大的那一个整数。用高中知识就能知道 f(i) = 2i^2 + 2i + 1 – N 在 i >= 0, N >= 0 的时候是单调增且必有一个非负解的,所以 f(i) = 0 的那个非负解的下取整就是所求的解,也就是我们要找的菱形的行数。

    接下来就是大一 C 语言课上的打印菱形了。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具