代码记录
笔试题等~
梦醒时分1218
这个作者很懒,什么都没留下…
展开
-
二进制数组三等分
文章目录1. 描述2. 代码1. 描述二进制数组分割, 分割成三等份, 返回下标2. 代码#include <iostream>#include <vector>#include <algorithm>using namespace std;vector<int> splitArray(vector<int>& A) { int n = A.size(); int cnt1 = accumulate(A.begi原创 2021-12-02 14:40:59 · 971 阅读 · 0 评论 -
最小代价路径 记录path
mark// 已知lnx+x^2 =0 在(0,1)范围内有解,用数值方法求解, 精度0.0001 // 求二维矩阵从最左上角元素到最右下角元素的最短路径和,只能往右和往下,输出最 // 短路径和对应的路径 // 输入:map = [[2,3,1],[1,9,1],[6,4,2]] // 输出:2->3->1->1->2 #include <iostream>#include <vector>原创 2021-09-23 23:26:25 · 249 阅读 · 0 评论 -
根据pair 排序
1. 描述// vector<pair> 排序// [1, 2] [1, 3] [2, 3] [2, 4]// [1, 3] [1, 2] [2, 4] [2, 3]2. 代码#include <vector>#include <algorithm>#include <iostream>using namespace std;bool cmp(const pair<int, int> a, const pair<int原创 2021-09-22 19:23:16 · 218 阅读 · 0 评论 -
剑指offer_48 最长不含重复字符的子字符串
文章目录1. 描述2. 代码1. 描述剑指 Offer 48. 最长不含重复字符的子字符串2. 代码# 滑动窗口思想def MaxSubStr(s): res = '' sub_s = '' for i in range(len(s)): # 查找字符是否在sub_s中 pos = sub_s.find(s[i]) if pos != -1: sub_s = sub_s[pos+1:] s原创 2021-08-06 03:16:48 · 185 阅读 · 0 评论 -
硬币面值组合问题
1. 描述现有面值1分、2分、3分的硬币,将N分钱兑换成硬币,共有多少种可能。2. 代码def solve(coins, N): dp = [] coins_num = len(coins) dp = [0 for x in range(N + 1)] dp[0] = 1 for i in range(coins_num): for j in range(coins[i], N + 1): dp[j] +=..原创 2021-07-15 13:58:28 · 311 阅读 · 0 评论 -
最大递减子数组
1.描述求一个数组最大递减子数组,要求返回数组,比如[9,2,5,4,3]返回[9,5,4,3]2.代码def solve(arr): dp = [0] * len(arr) pre = [-1] * len(arr) max_len = 1 max_index = 0 for i in range(len(arr)): dp[i] = 1 for j in range(i): if arr[j原创 2021-07-14 14:27:45 · 161 阅读 · 0 评论 -
牛顿法求解平方根
1. 原理牛顿法原理2. 代码def newton_solve(N): x0 = N / 2 x1 = x0 - (x0 ** 2 - N) / (2 * x0) max_iter = 1000 iter = 0 while iter < max_iter and abs(x0 - x1) > 1e-5: x0 = x1 x1 = x0 - (x0 ** 2 - N) / (2 * x0)原创 2021-07-12 20:21:07 · 134 阅读 · 0 评论 -
2021-04-22-华为实习-笔试题
文章目录1. 描述2. 代码3. 结果1. 描述输入一串字符,编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。例如:aac 压缩为 1acaaacca 压缩为 2a1ca2. 代码#include <iostream>#include <string>using namespace std;string compresses(const string & inputString){ string res =原创 2021-04-22 16:44:43 · 1053 阅读 · 0 评论 -
2021-04-20-仙途实习-笔试题
文章目录1. 描述2. 代码1. 描述给定一张栅格地图,求每个格子离最近的障碍物的距离。Example 1:Input:[[1,1,1],[1,0,1],[1,1,1]]Output:[[0,0,0],[0,1,0],[0,0,0]]Example 2:Input:[[1,1,1],[1,0,1],[0,0,0]]Output:[[0,0,0],[0,1,0],[1,2,1]]Leetcode 542 01矩阵2. 代码class Solution原创 2021-04-21 10:32:50 · 221 阅读 · 2 评论 -
2021-04-18-美团实习-机试题
文章目录题目一1. 描述2. 代码题目一1. 描述输入描述第一行一个正整数n,表示接下来有n条操作,(1<= n <= 10000)接下来n行,每行是两种操作中的一种:append x y: 其中x y是两个正整数,表示接收到新闻x的热度提升了y。(新闻编号x的范围是[1.1000],单次热度提升y的范围是[1,1000])query:用户向你发来查询。输出描述:对于每条用户查向,输出最高的十条新闻,以空格分隔。不足十条时,有几条输出几条。没有新闻时,输i出null, 每原创 2021-04-19 12:29:20 · 1537 阅读 · 0 评论 -
2021-04-13-做题- 并查集-P1551 亲戚
1. 描述洛谷 P1551 亲戚题目描述规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。输入格式第一行:三个整数n,m,p,(n<=5000,m<=5000,p<=5000),分别表示有n个人,m个亲戚关系,询问p对亲戚关系。以下m行:每行两个数Mi,Mj,1<=Mi,Mj<=N,表示Mi和Mj具有亲戚关系。接下来p行:每行两个数Pi,Pj,询问Pi和Pj是否具有亲戚关系。2. 分析算法原创 2021-04-13 11:37:49 · 115 阅读 · 0 评论 -
2021-03-31-华为实习-机试题
文章目录题目一1. 描述2. 代码CSDN第一题:2021-03-31华为牛客:三题题目一1. 描述题目:双循环赛制每两只球队都会各比一次,赢了积3分,平手各积1分,输了不积分。现最多有26支队伍,用a,b,c…表示,统计所有球队的积分并按照从高到低排序,如果两支队伍的积分相同,则按球队的字典序排序。队伍之间用“,”分隔,输入以空行结束。示例:测试用例1:输入:a-b 3:0b-a 1-1输出:a 4,b 1解释:a球队胜利积3分,a与b平各积1分,a得4分b得1分测试用例原创 2021-04-02 21:52:44 · 1649 阅读 · 2 评论 -
2021-04-02-Momenta实习-面试题
1. 题目1For a array of integer X_i, 0 <= i <= N, solve for the value of max(X_i - X_j) for all i > jfor example: [1,2,3,4,5] -> 4; [5,4,3,2,1] -> -1(Ideal time complexity is O(N) )2. 代码1int get_max_diff(std::vector<int> list)原创 2021-04-02 15:14:22 · 896 阅读 · 0 评论 -
2021-03-31-做题-反转字符串中的单词
文章目录1. 描述2. 代码1. 描述leetcode给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。2. 代码暴力做法:class Solution {public: string reverseWords(string s) { s.push_back(' '); vector<string> vec_s; string res = ""; while(s.size原创 2021-03-31 10:45:06 · 153 阅读 · 0 评论 -
2021-03-29-毫末实习-面试题-二分
文章目录1. 描述2. 分析3. 代码1. 描述leetcode一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。2. 分析最朴素的想法,遍历一遍,时间复杂度 O(n), 可以用二分的方法,时间效率会比较高 O(logn)3. 代码class Solution {public: int missingNumber(vector<int>& num原创 2021-03-29 22:07:57 · 371 阅读 · 1 评论 -
2021-03-26-飞步实习-机试题-动态规划
文章目录1. 描述2. 分析3. 代码1. 描述牛客链接牛牛有一个3*n的土地。这个土地有3行,n列。牛牛想在土地上种至少一朵花。为了花儿能够茁壮成长,每一朵花的上下左右四个方向不能有其他的花。问有多少种种花的方案。为防止答案过大,答案对1e9+7取模。2. 分析土地总共3行,那么就有 2 的 3 次方, 8种种树的方式:000001010100011101110111要求上下左右不能有树,所以:011110111这三种不满足要求。还剩下:00000101原创 2021-03-26 16:05:58 · 239 阅读 · 0 评论