oj
qq_38420683
这个作者很懒,什么都没留下…
展开
-
面试千万别挂在翻转链表上
面试一小时,千辛万苦来作最后做题环节,面试官准备放水,做个翻转链表吧,然后就挂了。leetcode 92. 反转链表 IIO(n)复杂度是不要上嵌套循环,但可以多次循环!!遍历一次的做法将链表分为三部分,如下[1 ,2,3,4,5] -> [1] [2,3,4] [5],2-4是需要反转的部分,反转后和两边一连就行了。class Solution { public ListNode reverseBetween(ListNode head, int left, int right)原创 2022-03-31 10:50:38 · 344 阅读 · 0 评论 -
leetcode 862. 和至少为 K 的最短子数组
leetcode 862. 和至少为 K 的最短子数组 通俗讲解求解过程原创 2022-02-07 18:38:07 · 294 阅读 · 0 评论 -
leetcode 剑指 Offer 20. 表示数值的字符串
地址简单题,把数组中奇数放前米娜,偶数放后面。思路比较简单,双指针遍历一次就行。需要考虑几种特例,全奇数,全偶数,和不需要交换。全基数全偶数,则有一个指针不需要移动,那么在移动指针时需要判断指针和数组长度的关系。在不需要交换的情况下,指针时正常移动,需要考虑在交换时判断两个指针的位置。判断奇偶时,%2要比 &1慢一些。但在&1是,需要注意运算符优先级。 == != 等都比&|优先级高, 为了方便应该在&|时用小括号以防万一。class Solution {原创 2021-12-02 11:33:55 · 438 阅读 · 0 评论 -
leetcode 50. Pow(x, n) 快速幂
地址:https://leetcode-cn.com/problems/powx-n/实现Math.pow(n,x);暴力是直接相乘,则需要进行n次。将n转为2进制,最多只需要logn次相乘,但需要获得每次的基数base。转为2进制可能是基数好算一些?java中int的极限,0-2147483648 = -2147483648,所以需要用longclass Solution { public double myPow(double x, int n) { double r原创 2021-11-06 11:55:24 · 153 阅读 · 0 评论 -
leetcode 剑指 Offer 14- II. 剪绳子 II 动态规划+大数操作
https://leetcode-cn.com/problems/jian-sheng-zi-ii-lcof/思路比较简单。但该题的取值范围较大,直接使用int会溢出。最直接的想法,用JAVA中的大数操作。import java.math.*;class Solution { BigInteger[] dp = new BigInteger[1005]; BigInteger zero = new BigInteger("0"); BigInteger one = n原创 2021-11-06 11:08:16 · 105 阅读 · 0 评论 -
leetcode 105. 从前序与中序遍历序列构造二叉树数的遍历
sublisthttps://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/原创 2021-10-29 15:53:21 · 108 阅读 · 0 评论 -
leetcode 剑指 Offer 06. 从尾到头打印链表
https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/submissions/题比较简单。主要是一些JAVA的api有点卡。最终要返回一个int[]类型的数组,但给的链表的头节点,不知道长度。将链表数据装到stack中后,如何返回int[]卡住例。...原创 2021-10-26 22:12:26 · 85 阅读 · 0 评论 -
leetcode 713. 乘积小于K的子数组 前缀积-双指针
地址 https://leetcode-cn.com/problems/subarray-product-less-than-k/题目给定一个正整数数组 nums和整数 k 。请找出该数组内乘积小于 k 的连续的子数组的个数。可以用前缀和的想法,但直接用会导致溢出。由于数组中元素都为正数,所以前缀积时非递减的,满足条件的数组都再一个区间内,最终转化为找区间的边界。可以用二分查找,也可以用双指针取找。需要注意的特殊情况时k=1和k=0 ,这两种都不存在对应的数组。i是区间右侧边界,l是左侧边界原创 2021-10-23 15:12:18 · 126 阅读 · 0 评论 -
leetcode 523. 连续的子数组和 -前缀和
地址 https://leetcode-cn.com/problems/continuous-subarray-sum/题目给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组:子数组大小 至少为 2 ,且子数组元素总和为** k** 的倍数。如果存在,返回 true ;否则,返回 false 。如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x 是 k 的一个倍数。0 始终视为 k 的一个倍数。前缀和普通前缀和中,原创 2021-10-22 22:04:15 · 112 阅读 · 0 评论 -
leetcode 437. 路径总和 III / 剑指 Offer II 050. 向下的路径节点之和 -前缀和
地址 https://leetcode-cn.com/problems/6eUYwP/一道树的遍历,求树中一个子树,其权值为指定值。暴力做法对树进行遍历,计算所有子树的求和。每遍历一个节点,计算所有 以 该节点和其父节点组成的子树的权值,并进行比较这里通过一个数组去保存所有的权值。然后去遍历其孩子。遇到的坑ArrayList对元素的修改当数组中元素是对象时,存储的是句柄,可以直接对值进行修改。但当元素是Integer 或int时,get得到元素后,再修改是无效的。这里用到arrayist.se原创 2021-10-21 23:31:35 · 122 阅读 · 0 评论 -
leetcode 1365. 有多少小于当前数字的数字- 前缀和
题目地址:https://leetcode-cn.com/problems/how-many-numbers-are-smaller-than-the-current-number/给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。2 <= nums.length <= 500原创 2021-10-21 23:28:57 · 101 阅读 · 0 评论 -
牛客 WY3 小易的升级之路 最大公约数
一般笔试都在牛客上,所以来牛客熟悉一下环境,尤其是ACM形式的需要自己处理IO,和leetcode上核心函数有一定的区别。URL上有id,懒得手动去除了,直接贴题目题目描述小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3…bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只原创 2021-10-16 17:19:58 · 121 阅读 · 0 评论 -
JAVA OJ/ACM 读入操作
牛客上的编程题分为两种,一种是核心代码模式,不需要处理IO;另一种是ACM模式,需要自己处理IO。原创 2021-10-16 16:03:58 · 341 阅读 · 0 评论 -
leetcode 剑指 Offer 05. 替换空格
地址replace 和replaceAllJAVA中 replace没有正则,空格替换需要指定。replaceAll有正则。s = "We are happy."System.out.println(s.replaceAll("\\s", "%20")); //We%20are%20happy.System.out.println(s.replace("\\s","%20"));//We are happy.System.out.println(s.replace(" ","%20")); //原创 2021-10-14 11:31:01 · 74 阅读 · 0 评论 -
leetcode 剑指 Offer 04. 二维数组中的查找
地址思路一开始没想清楚,觉得是一个二维的二分查找,设了一堆点坐标,但发现不能进行有效的查找,以为自己还没找到规律。设完begin end 和mid三个点,比较后,mid点如何移动不能简单的确定。想不通便想偷懒,突然发现可以按行进行二分查找,在对每行的首尾判断后,可以知道该点是否有概率存在。但写的时候没考虑数组为空的情况,补救后代码逻辑有点丑。class Solution { public boolean findNumberIn2DArray(int[][] matrix, int targ原创 2021-10-13 23:50:11 · 93 阅读 · 0 评论 -
leetcode 剑指 Offer 09. 用两个栈实现队列
题目地址题目太怪了!!!java中的stackStack是Vector的一个子类,它实现了一个标准的后进先出的栈。单可以index访问。常见操作如下s.push();s.peek();s.pop()DquenThe stack is a great example of single responsibility; it’s supposed to implement LIFO and only LIFO behaviour.Returns an iterator over t原创 2021-10-13 22:44:47 · 79 阅读 · 0 评论 -
leetcode 剑指 Offer 03. 数组中重复的数字
添加链接描述题目找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在** 0~n-1** 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。1. set or Map需要找到数组中重复的元素,考虑用某种数据结构记录一下,简单游戏ie用hashmap hashset等,只需要i判断是否包含即可。只有一层for,所以时间复杂度维O(n)。每个元素都可能要存,所以空间上也是O(n)。class Solutio原创 2021-10-12 21:53:54 · 88 阅读 · 0 评论 -
leetcode 1. 两数之和
overview题目地址题目给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。暴力遍历每种组合,只有一个答案,则找到即可。class Solution { public int[] twoSum(int[] nums, int target) { int len =原创 2021-10-10 15:39:46 · 83 阅读 · 0 评论 -
算法-KMP
串定义:线性存储的一组数据(默认是字符)串的匹配给定一段文本string,给定一个模式pattern,求pattern在string中的位置。令string 长度为n,pattern长度为m#include <string.h>char string[]="aaabbbccc",pattern[],*p="bbb";p = strstr(string,pattern); ...原创 2019-03-20 21:26:47 · 158 阅读 · 0 评论 -
leetcode 198
problems:You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adj...原创 2018-10-10 12:17:18 · 1024 阅读 · 0 评论 -
leetcode 121. Best Time to Buy and Sell Stock
题目Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (i.e., buy one and sell one share of the ...原创 2018-09-05 23:34:57 · 89 阅读 · 0 评论 -
PAT-乙-1003
题目1003 我要通过!“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组...原创 2019-01-15 16:03:26 · 154 阅读 · 0 评论 -
poj 2757:最长上升子序列 动规
题目描述一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如...原创 2019-06-04 21:30:56 · 150 阅读 · 0 评论 -
pat-甲-1013-Battle Over Cities-求连通分量
题目1013 Battle Over Cities (25 分)It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed....原创 2019-02-21 14:29:47 · 116 阅读 · 0 评论 -
poj 4001-广度搜索
描述农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式:1、从X移动到X-1或X+1,每次移动花费一分钟2、从X移动到2*X,每次移动花费一分钟假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?输入两个整数,N和K输出一个整数...原创 2019-07-31 21:11:46 · 147 阅读 · 0 评论 -
ccf-csp201812-4 最小生成树
题目样例输入4511 2 31 3 41 4 52 3 83 4 2样例输出4样例说明 下图是样例说明。思路题目要求题目要求的是生成一个树,使这棵树的最大值是所有生成树中最小的。这个最大值题目中是这么描述的:每层中选出最大的边所有层的最大的边中再选出最大的边说的有点绕,但看懂后就很简单了,这个最大值就是这棵树的最大边。也就是要生成这样一棵树,这...原创 2019-03-04 13:21:34 · 335 阅读 · 0 评论 -
pat-甲-1012 The Best Rank
题目1012 The Best Rank (25 分)To evaluate the performance of our first year CS majored students, we consider their grades of three courses only: C - C Programming Language, M - Mathematics (Calculus o...原创 2019-02-19 16:30:15 · 201 阅读 · 0 评论 -
PAT-甲-1014-Waiting in Line
题目1014 Waiting in Line (30 分)Suppose a bank has N windows open for service. There is a yellow line in front of the windows which devides the waiting area into two parts. The rules for the customers...原创 2019-02-28 16:20:36 · 103 阅读 · 0 评论 -
pat-甲-1010-radix
题目1010 Radix (25 分)Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The answer is yes, if 6 is a decimal number and 110 is a binary number.Now for any ...原创 2019-02-18 21:05:11 · 139 阅读 · 0 评论 -
PAT-甲-1007 - Maximum Subsequence Sum
题目1007 Maximum Subsequence Sum (25 分)Given a sequence of K integers { N1, N2 , …, NK }. A continuous subsequence is defined to be { Ni , Ni+1 , …, Nj } where 1≤i≤j≤K. The Maximum S...原创 2019-02-17 16:24:36 · 87 阅读 · 0 评论 -
oj c/c++ 常见问题
string 取出其中一个是字符string s;char a = s[0];string 找int string.find_first_of(&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;ab&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;,index);int string原创 2019-01-15 19:16:52 · 262 阅读 · 0 评论 -
pat-甲-1003
题目1003 Emergency (25 分)As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue te...原创 2019-01-20 15:30:22 · 211 阅读 · 0 评论 -
pat-甲-1006
题目1006 Sign In and Sign Out (25 分)At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the r...原创 2019-01-24 16:18:06 · 88 阅读 · 0 评论 -
pat-甲-1005
题目005 Spell It Right (20 分)Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output every digit of the sum in English.Input Specification:Each input file...原创 2019-01-24 15:18:30 · 140 阅读 · 0 评论 -
ccf-csp 201803-4 对抗搜索
题目问题描述 Alice和Bob正在玩井字棋游戏。 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是“X”,Bob放的是“O”,Alice执先。当同一种棋子占据一行、一列或一条对角线的三个格子时,游戏结束,该种棋子的持有者获胜。当棋盘被填满的时候,游戏结束,双方平手。 Alice设计了一种对棋局评分的方法: - 对于Alice已经获胜的局面,评估得分为(棋...原创 2019-03-14 16:33:52 · 222 阅读 · 0 评论 -
poj-1222:EXTENDED LIGHTS OUT 枚举
题目In an extended version of the game Lights Out, is a puzzle with 5 rows of 6 buttons each (the actual puzzle has 5 rows of 5 buttons each). Each button has a light. When a button is pressed, that bu...原创 2019-04-02 21:17:19 · 221 阅读 · 0 评论 -
poj 1661:帮助 Jimmy动规
题目总时间限制: 1000ms 内存限制: 65536kB描述“Help Jimmy” 是在下图所示的场景上完成的游戏。场景中包括多个长度和高度各不相同的平台。地面是最低的平台,高度为零,长度无限。Jimmy老鼠在时刻0从高于所有平台的某处开始下落,它的下落速度始终为1米/秒。当Jimmy落到某个平台上时,游戏者选择让它向左还是向右跑,它跑动的速度也是1米/秒。当Jimmy跑到平台的边...原创 2019-06-17 20:42:48 · 241 阅读 · 0 评论 -
动态规划-总结
最近做了几道动态规划,感觉有一些共性的东西,每个题都是相似的套路,在此总结一下。由于做题时已经被明确表明该题是动态规划,所以没有判断该题是动规的过程,大概还得多做几个找找感觉。找到要解决的问题,并将大问题分解为不重复,相似的小问题。大问题就是原问题,如果能找到一种分解大问题的方法,使大问题可以分解为相同的问题,只是规模变小,那就ok了。问题一般可以用两个数来刻画,一个是规模,另一个是限制条件。...原创 2019-06-21 00:35:33 · 108 阅读 · 0 评论 -
poj 4131:Charm Bracelet 动规
题目总时间限制: 1000ms 内存限制: 65536kB描述Bessie has gone to the mall’s jewelry store and spies a charm bracelet. Of course, she’d like to fill it with the best charms possible from the N(1 ≤ N≤ 3,402) availa...原创 2019-06-21 00:19:48 · 248 阅读 · 0 评论 -
poj 1458:Common Subsequence动规
题目描述A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, …, xm > another sequence Z = < z1, z2, …, zk > is ...原创 2019-06-05 00:17:56 · 137 阅读 · 0 评论