
java算法笔试题
java算法笔试题
水巷石子
大道至简
展开
-
每日一道java笔试题——leetCode:1508. 子数组和排序后的区间和(中等)
每日一道java笔试题——leetCode:1508. 子数组和排序后的区间和(中等)给你一个数组 nums ,它包含 n 个正整数。你需要计算所有非空连续子数组的和,并将它们按升序排序,得到一个新的包含 n * (n + 1) / 2 个数字的数组。请你返回在新数组中下标为 left 到 right (下标从 1 开始)的所有数字和(包括左右端点)。由于答案可能很大,请你将它对 10^9 + 7 取模后返回。示例 1:输入:nums = [1,2,3,4], n = 4, left = 1, ri原创 2020-09-26 11:48:16 · 4377 阅读 · 0 评论 -
每日一道java笔试题 2020-9-23
每日一道java笔试题 2020-9-23LeetCode:28. 实现 strStr()实现 strStr()函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 2示例 2:输入: haystack = "aaaaa", needle = "bba"输出: -1原创 2020-09-23 23:52:22 · 4725 阅读 · 1 评论 -
每日一道java笔试题 2020-9-22
每日一道java笔试题 2020-9-22leetCode 27. 移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出原创 2020-09-22 21:04:45 · 4616 阅读 · 3 评论 -
每日一道笔试题——leetCode 26. 删除排序数组中的重复项
每日一道笔试题——leetCode 26. 删除排序数组中的重复项leetCode 26. 删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:原创 2020-09-21 20:55:18 · 3322 阅读 · 0 评论 -
每日一道笔试题-2020-9-19
每日一道笔试题-2020-9-19leetCode:21. 合并两个有序链表(简单)将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4方法一:递归/** * Definition for singly-linked list. * public class ListNode { * int val;原创 2020-09-19 16:39:44 · 3774 阅读 · 0 评论 -
小米笔试题--两个链表的第一个公共结点
小米笔试题–两个链表的第一个公共结点题目描述输入两个链表,找出它们的第一个公共结点。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f3idLJ7o-1600157501963)(C:\Users\Carlos\Desktop\微信图片_20200915160755.jpg)]我这边使用暴力法,逐一判断代码如下:package cn.lbl.face.link;/*输入两个原创 2020-09-15 16:12:31 · 3132 阅读 · 0 评论 -
每日一道笔试题--leetCode:20. 有效的括号(简单)
每日一道笔试题–leetCode:20. 有效的括号(简单)##leetCode:20. 有效的括号(简单)给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入:原创 2020-09-14 19:46:06 · 3101 阅读 · 0 评论 -
每日一题---从二叉搜索树到更大和树
每日一题—从二叉搜索树到更大和树给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键小于节点键的节点。节点的右子树仅包含键大于节点键的节点。左右子树也必须是二叉搜索树。示例:输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]输出:[30,36,21,36,35,26,15,nu原创 2020-09-12 09:33:20 · 2440 阅读 · 0 评论 -
每日一道面试题-两数之和
每日一道面试题-两数之和leetcode()简单:1.两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]刚开始想到的是暴力求解,时间复杂度O(n^2)后面用一原创 2020-09-10 11:46:34 · 1557 阅读 · 0 评论 -
杨辉三角面试题
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]代码如下:class Solution {public List getRow(int rowIndex) {//定义了一个长度为rowIndex,高度为rowIndex的二维数组,数组中的值都为0;//由题意知,要+1List list = new ArrayList();int[][] arr=new int[rowIndex原创 2020-08-30 10:33:41 · 901 阅读 · 0 评论 -
【图文解析】反转一个单链表
【图文解析】反转一个单链表文章目录【图文解析】反转一个单链表例题描述解法:双指针迭代过程图解:代码实现例题描述反转一个链表示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL结构体定义class ListNode { int val; ListNode next=null; public ListNode(int val) { this.va原创 2020-09-11 19:48:23 · 2511 阅读 · 3 评论 -
每天一道面试题-最长公共前缀
每天一道面试题-最长公共前缀leetcode(简单):14. 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。纵向扫描纵向扫描时,从前往后遍历所有字符串的每一列,比较相同列上的字符是否相同,如果相同则继续对下一列进行比较,如果不相同则原创 2020-09-10 20:53:07 · 1995 阅读 · 0 评论