nowcoder专题

NowCoder HJ17 坐标移动

前言 华为机试刷题 题目: HJ17 坐标移动 编程语言: C++ 解题状态: 基础不牢,磕磕绊绊的 思路 本题主要是模拟题,分为三个步骤:获取字符串后利用分号获取坐标移动步骤;判断步骤是否合法;移动坐标。 代码 #include <algorithm>#include <iostream>#include <string>#include <vector>using na

nowcoder——回文结构

链表的回文结构_牛客题霸_牛客网 (nowcoder.com) 我们来分析该题:我们首先要清楚什么是回文结构?其实就是对称结构。如果一个链表呈对称结构就说明该链表具有回文结构。 下面给上一些例子: 那我们怎么判断该链表是否属于回文结构呢? 思路1:将链表元素放到数组中,然后定义两个指针分别从头部和尾部开始遍历,如果对应位置上的元素相等就说明该链表属于回文结构。这个思路虽然可以解决问题

LeetCode/NowCoder-链表经典算法OJ练习1

目录 说在前面 题目一:移除链表元素 题目二:反转链表 题目三:合并两个有序链表 题目四:链表的中间节点 SUMUP结尾 说在前面  dear朋友们大家好!💖💖💖数据结构的学习离不开刷题,之前给大家推荐过两个网站-牛客网和力扣,一个好的刷题网站是非常重要的,数据结构的思维需要靠刷题培养。我们上个篇目给大家介绍了单链表,也带大家实现了单链表的基本操作,我们今天趁热打

nowcoder possible sentences

题目: possible sentences 题目描述:Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each word is a valid dictionary word. Return all such possible sentences. 输

【题解】NowCoder dd爱框框

题目来源:牛客 dd爱框框 题目描述: 读入 n , x ,给出 n 个数 a[1] , a[2] ,…, a[n] ,求最小的区间 [l,r] ,使 a[l] + a[l + 1] + … + a[r] ≥ x ,若存在相同长度区间,输出 l 最小的哪个。 输入描述: 第一行两个数,n (1≤n≤10000000) , x (1≤x≤10000) 第二行n个数 a[i] (1≤a[i]

【题解】NowCoder BC149 简写单词

题目来源:牛客 BC149 简写单词 题目描述: 规定一种对于复合词的简写方式为只保留每个组成单词的首字母,并将首字母大写后再连接在一起。比如 “College English Test”可以简写成“CET”,“Computer Science”可以简写为“CS”,“I am Bob”简写为“IAB”。 输入一个长复合词(组成单词数 sum , sum ≥ 1 且 sum ≤ 100,每个单

【题解】NowCoder BC64 牛牛的快递

题目来源:牛客 BC64 牛牛的快递 题目描述: 牛牛正在寄快递,他了解到快递在 1kg 以内的按起步价 20 元计算,超出部分按每 kg 1元计算,不足 1kg 部分按 1kg计算。如果加急的话要额外付五元,请问牛牛总共要支付多少快递费。 输入描述: 第一行输入一个单精度浮点数 a 和一个字符 b ,a 表示牛牛要寄的快递的重量,b表示牛牛是否选择加急,‘y’ 表示加急 ,‘n’ 表示

【题解】NowCoder DP4 最小花费爬楼梯

题目来源:牛客 DP4 最小花费爬楼梯 题目描述: 给定一个整数数组 cost , 其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用,下标从 0 开始。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 数据范围:数组长度满足 1 ≤ n ≤ 105 ,数组中的值满足 1

【Nowcoder】2020牛客寒假集训营(第一场):maki和tree 思维

传送门 分析 我们先去把每一个相同颜色的联通快记录下来,然后去遍历每一个黑点,计算他连接的所有白点所在的联通块的大小,有两种情况 黑点就是端点 这种情况只需要答案加上白色联通快大小的和即可两个端点都是白点 任意两个联通快组合即可 代码 #pragma GCC optimize(3)#include <bits/stdc++.h>#define debug(x) cout<<#x<<"

【nowcoder 8564D】种树:思维 + dfs

传送门 分析 一个有趣的性质题 首先非叶子节点的值没有意义,他的节点的值由子节点继承来 然后假设可操作次数为 c n t cnt cnt,那么,深度小于 c n t cnt cnt的叶子节点的值是都可以取到的,如果最大的叶子结点的值的深度小于等于 c n t cnt cnt,那么答案就是 c n t cnt cnt 如果最大的叶子结点的值的深度大于 c n t cnt cnt,因为没有这么多操

【nowcoder 16416B】递推 + 思维

传送门 分析 我们分析一下,假设 f [ i ] f[i] f[i]表示 i i i点是否放置地雷,那么可以写出 a [ i ] = f [ i ] + f [ i − 1 ] + f [ i + 1 ] a[i] = f[i] + f[i - 1] + f[i + 1] a[i]=f[i]+f[i−1]+f[i+1] 我们把 i i i用 i − 1 i - 1 i−1代替,可以得倒 a

【Nowcoder】2021牛客暑假集训营(第七场): xay loves trees 双指针 + 线段树 + 尺取

传送门 题意 给你两个树,求一个最大集合,要求集合内的任意两个点在第一个树上,比如是祖先关系,在第二棵树,不能存在祖先关系 分析 某人吐槽我的题解写的太简单了,然后我觉得。。。承认错误死不悔改 这道题如果分开来求的话,一个是求树的直径,一个是树上DP,都比较简单,如果当他们在一起应该怎么处理呢,我们考虑维护两个指针,因为在树上两点之间的路径肯定是维护,所以肯定是符合第一个条件的,这样我们就

【Nowcoder】Damsindistress DFS + DP

传送⻔ 题意 给定每个大坝先有水量以及总容量,超过总容量时就会流向下一级(靠近根)的大坝。问最少需要多少新的水可以使整个大坝体系的根崩溃?只能往一个里面加水。 分析 考虑一下将根看成一个容量为 m m m,现有水量 0 0 0的大坝,那么,初状态需要 m m m的水量 我们从下往上 d f s dfs dfs,如果当前这个水坝的容量大于我下面所有大坝的水的需要量,那么就去更新,否则补上

nowcoder运维面试题集锦

TCP套接字中不会阻塞的是哪一种操作? 在TCP套接字中,不会阻塞的操作是绑定操作。具体来说,bind函数用于将特定的IP地址和端口号与套接字关联,这个操作本身并不引起阻塞。而其他一些操作,如读操作(read、readv、recv、recvfrom、recvmsg)、写操作(write、writev、send、sendto、sendmsg)以及接受连接操作(accept),都可能会因为等待数据

(Nowcoder) E 诡异数字(数位dp)

牛客小白月赛8真的打的自闭了,感觉一点都不小白 T_T (肯定是我太菜了,没错就是这样的) 题目链接https://www.nowcoder.com/acm/contest/214/E 题解说这是一个非常简单的数位dp,没接触过,感觉挺难的(大概这就是菜吧) 先稍微了解了一下数位dp,附上写的非常好的数位dp详解https://blog.csdn.net/wust_zzwh/article/

(Nowcoder) C.sequence (线段树+单调队列)

传送门 和南昌邀请赛的网路赛一模一样。 线段树维护l~r的前缀和即可,但是要注意sum[0]的存在,建树时并没有将其考虑进去。   #include<bits/stdc++.h>#define il inline#define pb push_back#define ms(_data,v) memset(_data,v,sizeof(_data))#define sc(n) sc

(Nowcoder) J LRU management (静态链表)

传送门 题意读懂了,感觉这就是个大模拟,但是直接模拟复杂度太大,所以我们要用链表指针搞一搞。不知道是不是我写的实在太挫,还是卡常,一直狂T,哭了。 划重点,加上这个才过。设置哈希桶大小,队友加了才过,估了,才知道这玩也,相见恨晚,还是太菜了呀。 rk.rehash(500005); a.rehash(500005); #include<bits/stdc++.h>#define il i

(Nowcoder 2019国庆day5) E.Longest Increasing Subsequence(动态规划+思维)

传送门 题意:f[i]是以i结尾的最长不下降子序列长度,问删掉第i个数后f[1]^2 xor f[3]^2 xor .. xor f[n]^2(不算第i个) 解: 如果对最长不下降子序列理解的彻底的会觉得很简单吧,我们可以考虑到当不考虑一个数是,那有些f[i]可能会不受影响或者-1,但是我们如何快速得出呢。当然是先全部求一遍f[]了,然后我们需要一个mi[]数组,mi[i]定义为长度为i的不下

NowCoder的密码

牛客网题目链接 题意 全排列给出的数据,然后从这些全排列中选出素数输出。 注意 不存在素数时要输出NONE每个测试数据间需要增加一个空行 #include <iostream>#include <string>#include <vector>#include <cctype>#include <cstdio>#include <cstring>#include <algor

NowCoder 查找学生信息 (二分查找)

题目描述 输入N个学生的信息,然后进行查询。 输入描述: 输入的第一行为N,即学生的个数(N<=1000) 接下来的N行包括N个学生的信息,信息格式如下: 01 李江 男 21 02 刘唐 男 23 03 张军 男 19 04 王娜 女 19 然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下: 02 03 01 04 输出描述: 输出M行,每行

【nowcoder】链表中倒数第k个结点

牛客题目链接 链表中倒数第k个结点 /*** struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode;ListNode* FindKthToTail(ListNode* pListHead, int k) {if (pListHead != NULL && k > 0)

nowcoder (牛客)Wannafly挑战赛26 B: 冥土追魂 (思维)

链接:https://www.nowcoder.com/acm/contest/212/B 来源:牛客网   时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K,其他语言1048576K 64bit IO Format: %lld 题目描述 有一天 Misaka 和 Kuroko 在玩一个关于冥土追魂的游戏.... Misaka和Kuroko在一个 n x m 的

NOWCODER:C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是(int)

一、返回值 C中:如果函数未指定返回值类型,则默认为int C++中:如果一个函数没有返回值,返回值类型必须指定为void 二、参数列表 C中:如果函数没有指定参数列表,则默认可以接受任意多个参数 C++中:有严格的类型检测,没有参数列表的函数默认为void,不接受任意参数 三、缺省参数(即给参数一个默认值) C:不支持 C++:支持(如果没有指定实参则使用缺省值,有则

NOWCODER:提取不重复的整数

题目描述: 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 输入描述: 输入一个int型整数。 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 示例1 输入 9876673 输出 37689 分析:循环为每一位0~9进行投票,并从右到左从右向左的阅读顺序,返回一个不含重复数字的新的整数。 参考代码: #in

NOWCODER:进制转换

题目:写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串。 输出描述: 输出该数值的十进制字符串。 示例1 输入 0xA 输出 10 参考代码: #include<iostream>#include<string>#include<math.h>using namespace std;

nowcoder多校5I(计数+bit)

题意看了半天(雾。。 然后可以发现1个点一定可以,2个点只要连线不与y平行就可以。。 然后考虑3个点的。。3个点的话画几次可以发现必须得是<的才可以。。 然后4个点发现怎么画都画不出来。。 然后主要是算3点的。。枚举顶点,需要找x比他小的,y和他不同的点个数。。分侧求出后乘起来即可。。 然后这个可以按x从大到小枚举一下,用bit去维护对应y上的位置(当然要离散化)。。 x相同的时候需要