春招暑期总结 && 踏上新征程
4.26收到三封感谢信
- 字节测开二面 挂
- 腾讯 一面 挂
- 4399 挂
至今遇到的面试官都很好 -- 但是还是自己没有太大的亮点 -- 双非本科-无竞赛-项目水-基础不强-算法水平也很一般
所以至今没有亮点能让面试官看上。。。
引用罗翔老师视频上的话:我们很多时候是不是觉得我们抓的牌实在太差了呀,但是再差的牌你都应该打下去
说来遗憾,从初中到现在,很少有记录自己的状态 --因为太麻烦。
但活着活着,发现自己还是不会生活、不会学习。总之,人的脑袋是记忆是有限的。
所以在此打算用博客来记录这生活的每一天和学习的状态。
幸运地是有所小厂收留--也打算在实习的日子能厚积薄发。
今日复盘 : 4.26腾讯一面算法题
- 两数之和
- 消消乐 (当时没想到正确的方法)
给一个字符串 “231972” 如果有相邻的两个字符串相加等于10就可消去,输出消去后最短长度
例子 19 37 可消去 --最后剩22 输出长度 为 2
其实就是考栈这种数据结构
#include<iostream>
#include<string>
#include<stack>
using namespace std;
int get(string& s) {
stack<char> stk;
for (auto c : s) {
if (!stk.empty() && (c - '0') + (stk.top() - '0') == 10) {
stk.pop();
}
else {
stk.push(c);
}
}
return stk.size();
}
int main() {
string test = "231972";
cout << get(test) << endl;
}
- 无重复的最长字符串(写了个基本滑动窗口的,面试官问可否优化)
//看了大佬的优化版本:left不必一个一个跳,直接跳到重复字符的后一个
int lengthOfLongestSubstring(string s) {
unordered_map<char,int> m;
int left = 0, right = 0, res = 0;
while (right < s.size()) {
if (m.count(s[right]) && start <= m[s[right]]){
left = m[s[right]] + 1;
}
res = max(res, right - left + 1);
m[s[right]] = right;
right++;
}
return res;
}
- 红包分配 给定总金额和红包个数,输出每一个红包的金额(金额是随机的) 每一个红包上下限:1分 和 200元
#include<iostream>
#include<vector>
#include <time.h>
using namespace std;
int getRand(int amount, int num) {
srand((unsigned)time(NULL));
int maxa = min(amount - num + 1,20000);
int mina = max(1,amount - (num - 1) * 20000);
int r = mina + rand() % (maxa - mina + 1);
return r;
}
vector<int> redPacket(int amount, int num) {
if (amount / num > 20000 || amount < num * 1)
return {};
vector<int> ans;
for (int i = num; i > 1; i--) {
int r = getRand(amount,i);
amount -= r;
ans.push_back(r);
}
ans.push_back(amount);
return ans;
}
int main() {
int a = 100000, b = 10;
vector<int> res = redPacket(a, b);
for (int& i : res) cout << i << " ";
return 0;
}
今日小知识点
DNS
DNS域名解析协议 将域名解析成IP地址。
为啥要有域名?为啥机器不直接处理域名,而是要把域名转换成IP来处理呢
- 因为IP是一串32位的二进制数字,即使是点分十进制的IP地址也很难让人记住,所以要转化成让人比较容易记住的域名
- 因为域名的长度不是固定的,所以机器处理起来会比较困难。而IP地址长度是固定的,比较好处理。
域名的解析
域名到IP的解析是由分步在互联网的许多域名服务器程序共同完成的。应用程序把待解析的域名放在DNS请求报文中,
以UDP数据报的方式发送给本地域名服务器。
主机首先向本地域名服务器进行递归查询, - 如果本地域名缓存中找到待解析域名的IP地址即直接返回该IP地址
- 如果不能,即由本地域名域名服务器代替主机去查找。
本地域名服务器向根域名查找的一般是迭代查询, - 本地域名服务器首先向根域名服务器查找,如果找到直接返回
- 如果没找到,根域名服务器会回复一个顶级域名服务器地址。
- 本地域名服务器继续向顶级域名服务器查找,如果找到直接返回
- 如果没找到,顶域名域名服务器会返回一个权威域名服务器地址
- 本地域名服务器继续向权威域名服务器查找,如果成功即返回,否则失败。
- 本地域名服务器把IP地址返回给主机。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)