首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
KimKitsuragi
获赞
2
粉丝
0
关注
0
看过 TA
8
西安交通大学
2024
机器学习
IP属地:陕西
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑KimKitsuragi吗?
发布(28)
刷题
KimKitsuragi
03-14 10:52
已编辑
西安交通大学 计算机类
题解 | #整除问题# 分解质因数
// 思路:线性筛选质因数,即任意正整数(n,a>1)都可以被分解为有限个质数之积 // 如:12 = 2^2 * 3 // map可以用下标访问,而set不行 #include <bits/stdc++.h> using namespace std; #define INF 0x7fffffff // 统计num中质因子的数量 void getAllFacs(unordered_map<int, int>& fac_n, int num) { for (int i = 2; i <= sqrt(num);i++) { // 上界有等号 ...
0
点赞
评论
收藏
转发
KimKitsuragi
03-11 19:14
西安交通大学 计算机类
题解 | #Simple Sorting#
#include <bits/stdc++.h> #include <algorithm> using namespace std; #define MAX 1001; int main() { int n,num; cin>>n; vector<int> arr; while ((n--)>0) { cin>>num; arr.push_back(num); } sort(arr.begin(),arr.end()); // 可以自己写 bool ...
0
点赞
评论
收藏
转发
KimKitsuragi
03-10 19:32
西安交通大学 计算机类
题解 | #二次方程计算器#
#include <bits/stdc++.h> using namespace std; bool isNum(char ch){ // 判断字符是否为数字 if('0'<=ch&&ch<='9') return true; return false; } void getNums(string str, int &a, int &b, int &c){ // 根据字符串str得到各项系数abc int len=str.length(); int curNum=0,sign=1; // sign默...
0
点赞
评论
收藏
转发
KimKitsuragi
03-08 15:59
西安交通大学 计算机类
题解 | #取中值#
#include <bits/stdc++.h> using namespace std; #define MAX 1000001 void getDatas(int& len1, int& len2, int (&arr1)[MAX], int (&arr2)[MAX], int& a, int& b, int& c, int& d) { // TLE超时解决办法:使用scanf替换cin scanf("%d %d",&len1,&len...
0
点赞
评论
收藏
转发
KimKitsuragi
03-06 17:15
西安交通大学 计算机类
题解 | #Prime Number#
#include <bits/stdc++.h> using namespace std; #define MAX 10001 bool isPrim(int num) { // 优化:使用平方根 for (int i = 2; i <= sqrt(num); i++) if (num % i == 0) return false; return true; } void getAllPrim(int* parr) { // 首先计算出所有的前10000个质数,存入矩阵 int count = 1, num = 2; while (count ...
0
点赞
评论
收藏
转发
KimKitsuragi
03-06 11:30
西安交通大学 计算机类
题解 | #最小面积子矩阵# 前缀和矩阵
#include <iostream> using namespace std; #define MAX 101 #define INF 0x7fffffff int sumOfMat(int i, int j, int width, int length, int(&arr)[MAX][MAX]){ // 统计从(i,j)为首的矩阵的所有元素和 int sum; sum=arr[i+width-1][j+length-1]-arr[i-1][j+length-1]-arr[i+width-1][j-1]+arr[i-1][j-1]; return ...
0
点赞
评论
收藏
转发
KimKitsuragi
03-05 14:13
西安交通大学 计算机类
题解 | #2的幂次方# 使用dfs
#include <iostream> using namespace std; // 2^15=32768, 2^14=16384 void getExp(int *exp){ exp[0]=1; for(int i=1;i<15;i++){ exp[i]=exp[i-1]*2; } } string dfs(int n, int* exp){ string ans; if(n==0) ans+='0'; // 样例不会输入0,此处为了得到递归 dfs(0)=0 for(int i=14;i>=0;i--...
0
点赞
评论
收藏
转发
KimKitsuragi
03-05 11:48
西安交通大学 计算机类
题解 | #Sum of Factorials# 两种方法
分别使用暴力方法、dfs搜索可能的阶乘之和 #include <iostream> using namespace std; // 0~9的阶乘之和为 409,114,而 0~10阶乘之和为 4,037,914 void getFac(int *fac){ // 首先计算 0~9 阶乘 fac[0]=1; for(int i=1;i<10;i++){ fac[i]=fac[i-1]*i; } } // 1、暴力搜索 从大到小 bool check(int n,int *fac){ for(int i=9;i>=0;i--...
0
点赞
评论
收藏
转发
KimKitsuragi
03-04 18:47
西安交通大学 计算机类
题解 | #WERTYU#
使用<char,char>类型的散列表保存字符映射关系;可能读取连续空格,使用 getline(cin,str) 处理。 #include <iostream> #include <map> using namespace std; int main() { string str; string keys="1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"; map<char,char> keyMap; for(int i=1;i<keys...
0
点赞
评论
收藏
转发
KimKitsuragi
03-05 17:17
已编辑
西安交通大学 计算机类
题解 | #String Matching# 两种方法
分别使用暴力算法、KMP算法求解在main()函数实现调用 #include <iostream> #include <bits/stdc++.h> using namespace std; //1、经典暴力算法 int BF(string text, string pattern) { int sum = 0; for (int pos = 0; pos < text.length() - pattern.length() + 1; pos++) { int flag = 1; // 从 pos 开始,检查是否...
0
点赞
评论
收藏
转发
KimKitsuragi
01-14 21:23
已编辑
西安交通大学 计算机类
题解 | #浮点数加法#
先将长短可能不一的两数对齐(补零);然后利用串行进位加法器的方法,由低位到高位逐位计算,先算小数部分再算整数部分 #include <iostream> #include <algorithm> using namespace std; void alignInt(string &str,int n){ if(str.length()==n) return; for(int i=n-str.length();i>0;i--) str='0'+str; } void alignDec(string &str,int n){ i...
0
点赞
评论
收藏
转发
KimKitsuragi
01-13 18:30
西安交通大学 计算机类
题解 | #首字母大写#
按行读取。对于字符串第一个字符,直接判断是否需要大写;遍历后续字符,遇到特殊字符时,对特殊字符的下一个字符进行判断;同时输出当前读到的字符。 #include <iostream> using namespace std; int main() { string str; while(getline(cin,str)){ if('a'<=str[0]&&str[0]<='z') str[0]='A'+str[0]-'a'; for(int i=0;i<str.length();i++){ ...
0
点赞
评论
收藏
转发
KimKitsuragi
01-13 18:12
西安交通大学 计算机类
题解 | #单词替换#
基本思路:对输入串进行预处理,将字符串切分为单词,存入迭代器;然后遍历迭代器,将单词逐个与目标词对比,判断是否需要替换,同时输出;为了处理过程正确性,需要给输入串末尾添上空格。 #include <iostream> #include <vector> using namespace std; vector<string> str2word(string str){ vector<string> ans; for(int i=0;i<str.length();i++){ string word; ...
0
点赞
评论
收藏
转发
KimKitsuragi
01-12 18:10
西安交通大学 计算机类
题解 | #skew数#
#include <iostream> #include <cmath> using namespace std; int main() { string str; while(cin>>str){//输入数据用字符串存储 int ans=0; int len=str.length(); for(int i=len-1;i>=0;i--){//注意i初值 // ans+=(str[i]-'0')*(pow(2,len-i)-1); ans+=...
0
点赞
评论
收藏
转发
KimKitsuragi
01-12 16:46
已编辑
西安交通大学 计算机类
题解 | #字母统计#
这道题直接让我回到了几年前学大计基在主楼机房敲代码的那个午后感觉方法应该是最简的了 #include <iostream> using namespace std; int main() { int chs[26]={0};//直接用数组下标表示字符在字母表中的位置 string str; while(cin>>str){ for(int i=0;i<str.length();i++){ if(str[i]>='A'&&str[i]<='Z') chs[str[i]-'A'...
0
点赞
评论
收藏
转发
1
2
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务