暴躁算法(剑指系列)-每日一练
暴躁算法-每日练习
- 2022.4.14
- [1672. 最富有客户的资产总量](https://leetcode-cn.com/problems/richest-customer-wealth/)
- [剑指 Offer 03. 数组中重复的数字](https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/)
- [剑指 Offer 04. 二维数组中的查找](https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/)
- [剑指 Offer 05. 替换空格](https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/)
2022.4.14
1672. 最富有客户的资产总量
给你一个 m x n
的整数网格 accounts
,其中 accounts[i][j]
是第 i
位客户在第 j
家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。
客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。
public int maximumWealth(int[][] accounts) {//钱最大的数量int max=0;//单个人的钱int count;//遍历人for(int i=0;i< accounts.length;i++){count=0;//遍历单个人的所有银行for(int j =0;j< accounts[0].length;j++){count+=accounts[i][j];}max=count>max?count:max;}return max;}
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:40.8 MB, 在所有 Java 提交中击败了44.65%的用户
剑指 Offer 03. 数组中重复的数字
在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
public int findRepeatNumber(int[] nums) {Arrays.sort(nums);for(int i=0;i<nums.length-1;i++){if(nums[i]==nums[i+1]){return nums[i];}}return 0;}
执行用时:4 ms, 在所有 Java 提交中击败了57.74%的用户
内存消耗:49 MB, 在所有 Java 提交中击败了44.60%的用户
建立一个set,遍历一次,如果一个数字已经在set中,就返回,否则加入set。
public int findRepeatNumber(int[] nums) {HashSet<Integer> set = new HashSet<>();for(int i=0;i<nums.length;i++) {if(set.contains(nums[i])){return nums[i];}set.add(nums[i]);}return 0;}
思路三:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内
遍历中,第一次遇到数字 xx 时,将其交换至索引 xx 处;
而当第二次遇到数字 xx 时,一定有 nums[x] = xnums[x]=x ,此时即可得到一组重复数字。
public int findRepeatNumber(int[] nums) {//初始化遍历指针int i = 0;while(i < nums.length) {//数字x就在索引x处,不用处理if(nums[i] == i) {i++;continue;}//遍历的时候,遇到数字x,在索引y处,想把他放回nums[x],结果nums[x]这地方已经有一个x了。//说明什么//有重复数字出现,直接返回if(nums[nums[i]] == nums[i]) return nums[i];//不然就交换到正确的位置int tmp = nums[i];nums[i] = nums[tmp];nums[tmp] = tmp;}return -1;}
结果:
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:48.3 MB, 在所有 Java 提交中击败了82.30%的用户
剑指 Offer 04. 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
面试用暴力法的话,面试官:“今天就到这里吧
暴躁算法(剑指系列)-每日一练相关推荐
- [算法] 剑指offer2 golang 面试题2:二进制加法
[算法] 剑指offer2 golang 面试题2:二进制加法 题目1: 给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出. 输入为 非空 字符串且只包含数字 1 和 ...
- 【算法-剑指 Offer】62. 圆圈中最后剩下的数字(环形链表;约瑟夫环;动态规划)
剑指 Offer 62. 圆圈中最后剩下的数字 - 力扣(LeetCode) 发布:2021年9月12日12:18:52 问题描述及示例 0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每 ...
- 剑指offer每日六题---------day five
剑指offer题25:复制一个随机链表 RondomListNode* RandomLinkCopy(RondomListNode *head) {if (!head)return NULL;//头结 ...
- python剑指offer替换空格_迷人的算法-剑指offer面试题5:替换空格
题目:请实现一个函数,把字符串中的每个空格替换成"%20". 例如,输入"We are happy.",则输出"We%20are%20happy.&q ...
- 剑指Offer_Python实现
基于python的<剑指offer> 剑指Offer-Python答案 剑指Offer-面试题的Python实现 Python基础算法/剑指offer
- Leetcode刷题笔记——剑指offer II (六)【图】
文章目录 图 695. 岛屿的最大面积 剑指 Offer II 106. 二分图 (每条边的两个结点都来自不同的集合) 剑指 Offer II 107. 矩阵中的距离 (最短路问题,建图,BFS) 剑 ...
- 【算法leetcode每日一练】剑指 Offer II 080. 含有 k 个元素的组合 | 77. 组合
文章目录 剑指 Offer II 080. 含有 k 个元素的组合 | 77. 组合: 样例 1: 样例 2: 提示: 分析 题解 java c c++ python go rust javascri ...
- 递增的整数序列链表的插入_每日算法题 | 剑指offer 链表专题 (5)链表中倒数第k个节点...
点击上方"Jerry的算法和NLP",选择"星标"公众号 重磅干货,第一时间送达 题目 链表中倒数第k个节点 题目要求 输入一个链表的头结点,从尾到头反过来打印 ...
- 【Android春招每日一练】(九) 剑指4题+Android基础
文章目录 概览 剑指offer 1.33 二叉树中和为某一值的路径 1.34 复杂链表的复制 1.35 二叉搜索树与双向链表 1.36 序列化二叉树 Android基础 Fragment 总结 概览 ...
- 【Android春招每日一练】(十六) 剑指4题+Android进阶
文章目录 概览 剑指offer 1.61 翻转单词顺序 1.62 左旋转字符串 1.63 滑动窗口的最大值 1.64 队列的最大值 Android进阶 Android布局优化 Android权限处理 ...
最新文章
- layui select 与 vue 的结合使用
- J - Fire! UVA - 11624
- python数据分析(九)-点积与线性代数
- 金三银四面试季来临,最新BAT面试资料分享给大家
- 关于mysql修改密码 set password for root@localhost = password(‘xxx‘);报错解决方法
- 通过docker无法访问到tomcat报页面404
- 基于JAVA+SpringMVC+MYSQL的苗木销售系统
- java递归简易应用教程
- Hibernate→ORM、简介、第一个Hibernate实现、核心XML配置、Hibernate执行流程、操作数据库对象session、事务、映射XML配置、单例CRUD、get与load
- HDU 2504 又见GCD(最大公约数与最小公倍数变形题)
- Error: Error while compiling statement: FAILED: ParseException line 1:20 cannot recognize input near
- java解析bt协议详解_bt协议详解 基础篇(下)
- 论文笔记1:Full-Spectrum Denoising of High-SNR Hyperspectral Images
- openwrt多wan限上下行速脚本,基于qosv4,imq模块替换成ifb模块
- oracle SO币种默认设置,Oracle EBS 11i 表结构——OE模块 so_headers_all;so_lines_all
- java极光短信的集成
- sinr是什么意思_信噪比有负的吗?表示什么意思?
- Python 海龟绘图 100 题——第 72 题
- Android 8.1 9.0 10.0 在系统app安装第三方app弹出 解析安装包出现问题 的解决方案
- FPGA--简易DDS信号发生器 (内涵DDS与CORDIC IP核详解)附源码
热门文章
- android 屏幕密度范围,Android屏幕密度
- android蓝牙耳机来电铃声,Android实现积极连接蓝牙耳机
- 如何给Excel减肥(相关技巧和注意事项)
- pytorch中的transforms介绍
- 软件测试之弱网测试工具
- BUUCTF Misc 弱口令 [RoarCTF2019]黄金6年 小易的U盘 [WUSTCTF2020]alison_likes
- Component is missing template or render function
- Codeforce 1296 C. Yet Another Walking Robot
- channel.QueueDeclare各个参数详解
- 小程序scroll-view文字不能自动换行