代码编织梦想

来源:投稿 作者:LSC

编辑:学姐

考察编程题两道:

1.逆时针输出三角数组

输入: 5

输出: 1,2,4,7,11,12,13,14,15,10,6,3,5,8,9

解释生成这样的数组,

逆时针旋转输出

代码:

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
#include<string>
#include<queue>
#include<stack>
#include<map>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;
int a[105][105], vis[100][100];
int n, k;
vector<int> v;
int dir[3][2] = { {0, 1}, {1, 0}, {-1, -1} };
void print()
{
 for (int i = 1; i <= n; ++i)
 {
  for (int j = 1; j <= i; ++j)
  {
   printf("%d ", a[i][j]);
  }
  printf("\n");
 }
}
//void dfs(int x, int y)
//{
// if(x > n || x <= 0 || )
// vis[a[x][y]] = 1;
// if()
//}
int main()
{
 scanf("%d", &n);
 k = 1;
 for (int i = 1; i <= n; ++i)
 {
  for (int j = 1; j <= i; ++j)
  {
   a[i][j] = k++;
  }
 }
 print();
 int num = 0, k = 0, x = 0, y = 1;
 while (num != (1 + n) * n / 2)
 {
  while (1)
  {
   x++;
   if (x > n || vis[x][y] == 1) { x--; break; }
   vis[x][y] = 1;
   num += 1;
  // cout << "1  " << x << " " << y << endl;
  // cout << a[x][y] << endl;
   v.push_back(a[x][y]);
  }
  while (1)
  {
   y++;
   if (y > n || vis[x][y] == 1) { y--; break; }
   vis[x][y] = 1;
   num += 1;
  // cout << "2  " << x << " " << y << endl;
  // cout << a[x][y] << endl;
   v.push_back(a[x][y]);
  }
  while (1)
  {
   x--;
   y--;
   if (vis[x][y] == 1) { x++; y++; break; }
   vis[x][y] = 1;
   num += 1;
  // cout << "3  " << x << " " << y << endl;
  // cout << a[x][y] << endl;
   v.push_back(a[x][y]);
  }
  //cout << "4  " << x << " " << y << endl;
 }
 for (int i = 0; i < v.size(); ++i)
 {
  printf("%d ", v[i]);
 }
 return 0;
}

2.leetcode原题 097

我的做法不好,容易超时

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cstdio>
#include<string>
#include<queue>
#include<stack>
#include<map>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;
string s1, s2, s3;
map<char, int> m12, m3;
bool dfs(int k1, int k2, int k3)
{
 if (k3 == s3.length())
 {
  return true;
 }
 if (k1 == s1.length())
 {
  return false;
 }
 if (k2 == s2.length())
 {
  return false;
 }
 if (s3[k3] == s1[k1] && s3[k3] == s2[k2])
 {
  return dfs(k1 + 1, k2, k3 + 1) || dfs(k1, k2 + 1, k3 + 1);
 }
 else if (s3[k3] == s1[k1])
 {
  return dfs(k1 + 1, k2, k3 + 1);
 }
 else if (s3[k3] == s2[k2])
 {
  return dfs(k1, k2 + 1, k3 + 1);
 }
 else return false;
}
int main()
{ 
 /*cin >> s1;
 cin >> s2;
 cin >> s3;*/
 s1 = "cbcccbabbccbbcccbbbcabbbabcababbbbbbaccaccbabbaacbaabbbc";
 s2 = "abcbbcaababccacbaaaccbabaabbaaabcbababbcccbbabbbcbbb";
 s3 = "abcbcccbacbbbbccbcbcacacbbbbacabbbabbcacbcaabcbaaacbcbbbabbbaacacbbaaaabccbcbaabbbaaabbcccbcbabababbbcbbbcbb";

 if (s1.length() + s2.length() != s3.length()) { printf("false\n"); }
 else
 {
  for (int i = 0; i < s1.length(); ++i)
  {
   m12[s1[i]]++;
  }
  for (int i = 0; i < s2.length(); ++i)
  {
   m12[s2[i]]++;
  }
  for (int i = 0; i < s3.length(); ++i)
  {
   m3[s3[i]]++;
  }
  int f = 1;
  for (auto i : m12)
  {
   if (i.second != m3[i.first]) { f = 0; printf("false\n"); break; }
  }
  if (f)
  {
   int k1 = 0,  k2 = 0, k3 = 0;
   if (dfs(k1, k2, k3)) { printf("false\n"); }
   else { printf("true\n"); }
  }
 }
 return 0;
}
//s1 = "aa bc c"
//s2 = "dbbc a"
//s3 = "aa dbbc bc a c"

正解: 动态规划

关注下方《学姐带你玩AI》🚀🚀🚀

算法工程师万能简历公式+200多个简历模板(中英文)

回复“简历”轻松获取!

码字不易,欢迎大家点赞评论收藏!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42645636/article/details/129834349

【技术类】2019校招技术类岗位面经汇总_誓约胜利之舰的博客-爱代码爱编程

转自:牛客网          作者:鞠婧祎_♪            链接:https://www.nowcoder.com/discuss/146655 目录 Java     C++      算法&&人工智能     机器学习        计算机视觉 视觉计算    数据分析     数据开发      数据挖掘     图

2018年面经大合集_weixin_34009794的博客-爱代码爱编程

考试结束,班级平均分只拿到了年级第二,班主任于是问道:大家都知道世界第一高峰珠穆朗玛峰,有人知道世界第二高峰是什么吗?正当班主任要继续发话,只听到角落默默想起来一个声音:”乔戈里峰” 前言 拿下BAToffer的大神在这篇文章中 http://t.cn/E2rsKop 写过 面经是个很不错的东西(嗯

面试刷题11-8-爱代码爱编程

【用友】一面(8.22)(电话)复盘(24min) 自我介绍 当前在校情况 项目情况 设计模式 IO相关 socket、tomcat、Netty、dubbo MySQl 引擎之间的区别,索引原理 redis缓存 ES 搜索引擎 性能监控的日志 线程安全 AOP 泛型 作用、原理 【瓜子二手车】 一面 (9.5)(视屏) (1小时

IT架构师介绍-软件架构设计学习第一天(非原创)-爱代码爱编程

文章大纲 一、架构师定义 二、架构师分类与具备能力 三、研发人员发展的技术路线 四、架构师知识体系 五、参考文章   一、架构师定义   什么是架构师,这个聊架构话题时永恒的问题。每个公司对架构师的定位也有所不同,因为不同公司所处的阶段,业务模式,应用场景也都不一样。对架构的要求也不一样。   在初创公司的野蛮生长阶段:业务场景和需求边界很难把

《大白AI周报》精华内容整理汇总-爱代码爱编程

在人工智能学习中,大家或多或少都会关注一些公众号,但随着每天信息量的暴增,碎片化的内容让大家应接不暇。 如何挖掘有价值的内容,如何快速查阅自己需要的内容,是一个头疼的问题。 因此大白每周都会将人工智能领域,几十个公众号每周发布的精华内容汇总起来。 同时进行系统的分类,让大家对于人工智能行业每周的技术动态可以一目了然,希望对大家有帮助。 《大白AI周

【干货总结】2020年算法工程师技术路线图-爱代码爱编程

点击上方,选择星标或置顶,不定期资源大放送! 作者丨字节@知乎 来源丨https://zhuanlan.zhihu.com/p/192633890 【导读】算法工程师如何获得技术方面的成长?本文从工程基础、算法基础、算法工程交叉、工程深入方向、算法深入方向等方面给出建议,并设计了自我考核模块,帮助大家查漏补缺,自我提升。 前言

面试技巧 面试复盘 编程技术 架构 看这一篇就够了-爱代码爱编程

神经网路与深度学习 Kubernetes实战 大型网站性能监测、分析与优化 Flume日志收集与MapReduce模式 ZooKeeper:分布式过程协同技术详解 自己动手写Java虚拟机 Java WebSocket编程 开发、部署和保护动态Web应用 SpringBoot揭秘:快速构建微服务体系 Web全栈工程师的自我修养 Apach

【实习心路历程分享】【大厂后端&算法面经】字节AI-Lab、旷视、滴滴、快手、商汤、第四范式-爱代码爱编程

本文的目的是复盘整理一下笔者在今年寒假期间对各厂实习面试经历,早日经历社会的毒打,方能未雨绸缪,希望未来能够找到一份不错的工作。本文主要分为以下四个部分,梳理我在找实习过程中的心路历程。 后端研发 or 算法? 我该如何选择?如何找实习(了解企业渠道)?如何准备简历?大厂实战面经1.后端研发 or 算法? 该如何选择? 在这个问题上,笔者思考了很久,我

C++后台开发学习路线-爱代码爱编程

C++后台开发学习路线 2.1 如何拿下BAT:我的学习路线 前言 **2019年对我而言必定是人生当中最重要的一年。因为实习的原因,我第一次体验了北京和上海的生活,匆匆且忙碌。这一年生活当中充斥着各种求职咨询,面试,做题,仿佛一夜回到了高三。不过,我是幸运的。从寒假实习开始到暑假实习再到秋招,一路以来我并没有体会到太多的挫折,一路高歌,最终也收获了

写给初学者,长文阐述大数据学习与面试-爱代码爱编程

最近有读者私聊我时发现有不少应届生和初学者,他们在大数据怎么学,以及大数据怎么面试,简历怎么写等方面有很大的困扰,今天我们就来谈谈关于大数据的一些事。 写在前面:每个人的学习方法可能不一样,只有找到适合自己的才是最好的,以下这些只是我在学习大数据时的一些总结及经验,有不全面的地方还请各位大佬多包涵,互相学习,共同进步,非常感谢! 我之前

1024程序员节,一份精华合辑送给你-爱代码爱编程

点击蓝色“有关SQL”关注我哟 加个“星标”,天天与10000人一起快乐成长 写在前面 今天,10月24日。 对于程序员来说,这天意义非凡。我的公众号,提供了一份1024的礼物,相信每个关注的朋友,都收到过。 | 后台回复1024,有惊喜 每年10月,我都会给自己做一次总结。复盘下前12个月,做过哪些有意思的事,写过哪些不错的文章。熟

机器学习的1000+篇文章总结-爱代码爱编程

机器学习的1000+篇文章总结 本文收集和总结了有关机器学习的1000+篇文章,由于篇幅有限只能总结近期的内容,想了解更多内容可以访问:http://www.ai2news.com/, 其分享了有关AI的论文、文章、图书。 吴恩达机器学习-9-降维PCA http://www.ai2news.com/blog/12185/ 机器学习也有弱点

算法问题中的贪心思想,贪心算法入门题目(不断更新)-爱代码爱编程

什么是贪心算法思想 贪心算法的思想是每一步选择当前状态下最优的决策,并不考虑之后的结果,以期达到全局最优解的算法思想。 具体来说,贪心算法通常包括以下几个步骤: 确定问题的贪心策略,即每一步应该采取哪种决策。 利用贪