首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客194053095号
获赞
46
粉丝
0
关注
4
看过 TA
0
西安理工大学
2014
安卓
IP属地:未知
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑牛客194053095号吗?
发布(7)
评论
刷题
收藏
牛客194053095号
关注TA,不错过内容更新
关注
2021-04-06 17:11
西安理工大学 安卓
Java 最笨方法
用两个栈来做,有些特殊情况需要考虑:1、+, -, *, / 这四个符号前面有可能会省略0,比如:(-4*2),应该为(0-4*2),所以要在前面加个0,但是,还有中特殊情况不需要加0,比如:(4\2)-3,这种情况,'-'前面不需要加0。综上,只有前面是'(','[','{'这三种情况的话,才需要加0;2、有大于10的数字存在,所以需要处理10以上情况,具体看代码。 简单说下步骤: 1、新建两个栈,一个栈用来存数字,一个栈用来存运算符2、遍历整个字符串,如果是数字,入数字栈(考虑10以上情况);如果是普通运算符(考虑省略0情况),入运算符栈;如果是左括号('(', '[', '{'),入运算...
牛客63776637...:
你已经超过66.66%的人了
0
点赞
评论
收藏
分享
2021-04-06 09:57
西安理工大学 安卓
太秀了
笨办法,每次循环求剩的瓶子巧办法,除以2 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int n = sc.nextInt(); if (n == 0) { break; } else if (n < 3) { System.out.println(n); } else { int c = 0; c += n / 3; n = n / 3 + n %3;...
0
点赞
评论
收藏
分享
2021-04-05 21:35
西安理工大学 安卓
Java 简单解法
根据题意,输出的字符串需要在数字字符左右加上''。我们设置一个状态,为数字和非数字两种状态(boolean值)。当我们遍历字符串的时候 :1、当前字符为数字,读取状态,如果状态为非数字,表明上一个字符不是数字,所以当前字符为数字首位,需要在前面加个'';如果状态为数字,则不需要添加'',只需输出。2、当前字符为非数字,读取状态,如果状态为数字,表明上一个字符是数字,所以当前字符为非数字首位,需要在前面加个'';如果状态为非数字,则不需要添加'*',只需输出。程序如下: import java.util.*; public class Main { public static void main...
0
点赞
评论
收藏
分享
2021-04-05 14:04
西安理工大学 安卓
矩阵乘法计算量估算
根据题意,A矩阵(50×10)和B矩阵(10×20)满足相乘的条件,那么A×B的乘法次数为50×10×20,即: A矩阵的行 × A(B)矩阵的列(行) × B矩阵的列。首先是输入矩阵,根据题意会输入多个矩阵,考虑使用队列(Queue)来完成输入矩阵。这道题的重点是解析输入的计算法则,如示例中的“(A(BC))”。考虑使用栈来完成解析,首先遍历输入法则:1、如果读到的是 '(',不做任何操作,继续向下读。2、如果读到的是 'A' ~ 'Z' 的字符,则入栈矩阵(从队列中弹出一个矩阵)。3、如果读到的是 ')',则连续出栈两个矩阵,完成两个矩阵的乘法次数运算,得到一个矩阵,将得到的矩阵入栈。代码...
牛客91790861...:
假设BC -> E,那么有(A(BC)D) -> (AED),(AED)本身就没有固定的顺序,最外侧的一个括号无法规定优先计算AE或是优先计算ED,因此(A(BC)D)这种情形并不符合题意。
0
点赞
评论
收藏
分享
2021-04-03 19:19
西安理工大学 安卓
Java 高精度整数加法
根据题意,输入长度会超出java中的long类型长度,所以这里使用加法逻辑,对字符串逐位相加,输出结果。注释已经解释的很明白了 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String n1 = sc.next(); String n2 = sc.next(); int i = n1.length() - 1; // 索引建立在字符串末尾 int j = n2...
0
点赞
评论
收藏
分享
2021-04-02 10:55
西安理工大学 安卓
Java 字符串加密
1、首先使用LinkedList存储由'A'~'Z'的26个字符链表,作为加密的键值,之所以选择LinkedList,是因为可以方便的弹出第一个元素。2、以HashMap来存储源字符和加密后字符之间的映射关系3、从0~25开始遍历,首先获取到key中的字符,如果HashMap中没有,则加入,同时删掉LinkedList中的字符;如果HashMap中存在了(代表键值映射已经有了),则循环取下个。注意:在key的最后一个字符的时候,有可能HashMap中已经有了,则需要直接插入LinkedList中的首元素。4、key遍历完了之后,则依次弹出LinkedList中的首元素,依次加入HashMap中...
0
点赞
评论
收藏
分享
2021-04-01 09:51
西安理工大学 安卓
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数
通过运算二进制计算有多少个1 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int num = sc.nextInt(); int count = 0; do { if (num % 2 == 1) { count++; } } while ((num /= 2) > 0); System.out.println(count); } } }
0
点赞
评论
收藏
分享
1
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务