笔试刷题-Day10

2024-04-29 17:52
文章标签 笔试 day10 刷题

本文主要是介绍笔试刷题-Day10,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

牛客

一、DP30买卖股票的最好时机(一)

在这里插入图片描述
算法:虽然题目标了DP但是用贪心更快页更容易理解

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别// while (in.hasNextInt()) { // 注意 while 处理多个 case//     int a = in.nextInt();//     int b = in.nextInt();//     System.out.println(a + b);// }//贪心,维护一个当前最小值(买入)int len = in.nextInt();int preMin = in.nextInt();int max = 0;for(int i = 1;i<len;i++){int temp = in.nextInt();preMin = Math.min(preMin,temp);max = Math.max(max,temp-preMin);}System.out.println(max) ;}
}

二、OR26 最长回文子串

在这里插入图片描述

算法:中心扩展(注意奇数偶数回文的区别)
遍历中心点,每次遍历向两端扩展,直到不相等为止,长度为r-l-1;

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param A string字符串 * @return int整型*/public int getLongestPalindrome (String A) {// write code here//中心扩展算法int max = 0;int len = A.length();int left = 0 ;int right = 0; for(int i = 0;i<len;i++){//奇数回文串left = i-1;right = i+1;while(left>=0&&right<len){if(A.charAt(left)==A.charAt(right)){left--;right++;}else{break;}}max = Math.max(max,right-left-1);//偶数回文串left = i;right = i+1;while(left>=0&&right<len){if(A.charAt(left)==A.charAt(right)){left--;right++;}else{break;}}max = Math.max(max,right-left-1);}return max;}
}

三、NC369 [NOIP2002 普及组] 过河卒

在这里插入图片描述
算法:动态规划-路径
1.状态表示
dp[i][j]表示:从[0,0]位置出发,到达dp[i,j]位置,一共有多少种方法
2.状态转移方程
dp[i,j] = dp[i-1,j]+dp[i,j-1];需要判断dp[i.j]位置
3.初始化
多加一行一列

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param n int整型 棋盘行数* @param m int整型 棋盘列数* @param x int整型 马的横坐标* @param y int整型 马的纵坐标* @return int整型*/public int crossRiver (int n, int m, int x, int y) {// write code hereint[][] dp = new int[n+2][m+2];dp[0][1] = 1;x+=1;y+=1;for(int i=1;i<=n+1;i++){for(int j =1;j<=m+1;j++){if(i!=x&&j!=y&&Math.abs(i-x)+Math.abs(j-y)==3||(i==x&&j==y)){dp[i][j] = 0;}else{dp[i][j] = dp[i-1][j]+dp[i][j-1];// System.out.println(dp[i][j]);}}}return dp[n+1][m+1];}
}

这篇关于笔试刷题-Day10的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/946757

相关文章

【每日刷题】Day113

【每日刷题】Day113 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 91. 解码方法 - 力扣(LeetCode) 2. LCR 098. 不同路径 - 力扣(LeetCode) 3. 63. 不同路径 II - 力扣(LeetCode) 1. 91. 解码方法 - 力扣(LeetCode) //思路:动态规划。 cl

【秋招笔试】9.07米哈游秋招改编题-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集 100+ 套笔试题,笔试真题 会在第一时间跟新 🍄 题面描述等均已改编,如果和你笔试题看到的题面描述

hot100刷题第1-9题,三个专题哈希,双指针,滑动窗口

求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表; 区间操作元素,一般是前缀和、差分数组 数组有序,更大概率会用到二分搜索 目前已经掌握一些基本套路,重零刷起leetcode hot 100, 套路题按套路来,非套路题适当参考gpt解法。 一、梦开始的地方, 两数之和 class Solution:#注意要返回的是数组下标def twoSum(self, nums: Lis

两道笔试题

“char a='\72'”是什么意思? 这么理解:\为转义字符,\072转义为一个八进制数072,也就是十进制数的58买一送一,将转义字符对照表也一并贴给你吧:转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换页(FF) 012 \n 换行(LF) 010 \r 回车(CR) 013 \t 水平制表(HT) 009 \v 垂直制表(VT

华为23年笔试题

消息传输 题目描述 在给定的 m x n (1 <= m, n <= 1000) 网格地图 grid 中,分布着一些信号塔,用于区域间通信。 每个单元格可以有以下三种状态:  值 0 代表空地,无法传递信号;  值 1 代表信号塔 A,在收到消息后,信号塔 A 可以在 1ms 后将信号发送给上下左右四个方向的信号塔; 值 2 代表信号塔 B,在收到消息后,信号塔 B 可以在 2ms

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II

代码随想录刷题day25丨491.递增子序列 ,46.全排列 ,47.全排列 II 1.题目 1.1递增子序列 题目链接:491. 非递减子序列 - 力扣(LeetCode) 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序列_哔哩哔哩_bilibili 文档讲解:https://programmercarl.com/0491.%E9%80%92%E

实现的动态规划问题华为笔试题C++实现

秋招刷力扣题,我觉得我对动态规划不是熟练,在此处做总结 动态规划(Dynamic Programming,DP)算法通常用于求解某种具有最优性质的问题。在这类问题中,可能会有许多可行解,每一个解都对应一个值,我们希望找到具有最优值的解。我觉得最大的问题就是对问题的分解,分解后的问题与分解前的问题具有相同的决策机制,将决策机制进行抽象,最终可以得到对应的解; 动态规划中开始介绍的爬楼梯等问题,答

某公司笔试编程题

参加了某公司编程题,这些题都来自牛客网,记录总结吧! 一、蛇形矩阵 题目描述 蛇形矩阵是有1开始的自然数依次排列成的一个上三角矩阵. 接口说明 void GetResult(int Num, int* pResult);输入参数:int Num :输入的正整数N输出参数:int *pResult: 指向放蛇形矩阵的字符串指针指针指向的内存区域保证有效 样例输入: 4

CVTE java web后台实习生笔试+技术一面总结

投的第一份简历,也可以说是第一次写笔试和参加面试。题在前面,总结在最后,努力不骗人。 笔试 题型:20道不定项选择题+2道算法题+1道架构设计题 选择题 选择题出的很全面,因为是不定项选择,一道题就可以考很多知识点。 当时做的时候以为笔试都是这么难,做完实验室同学告诉我这个算比较难的了,而且据我观察可能是跟春招找正式offer的一批难度的题。可能最后过的标准不一样吧。 选项信息量很大,

大厂算法例题解之网易2018秋招笔试真题 (未完)

1、字符串碎片 【题目描述】一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,“aaabbaaac” 是由下面碎片组成的:‘aaa’,‘bb’,‘c’。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的 平均长度是多少。 输入描述: 输入包括一个字符串 s,字符串 s 的长度 length(1 ≤ length ≤ 50),s 只含小写字母(‘a’-‘z’) 输出描述