京东安全岗笔试编程

京东的安全岗的编程题:最优打印策略。有人ac吗??学习一下#京东##笔试题目#
全部评论
import java.util.Scanner; public class Main {     private static final int LOWER_CASE = 1;     private static final int UPPER_CASE = -1;     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         int n = Integer.parseInt(scanner.nextLine());         String text = scanner.nextLine();         scanner.close();         int curr = LOWER_CASE;         int count = 0;         for (int i = 0; i < text.length(); i++) {             char ch = text.charAt(i);             if (curr == LOWER_CASE && isLower(ch)) {                 count += 1;             } else if (curr == UPPER_CASE && !isLower(ch)) {                 count += 1;             } else {                 count += 2;                 if (i != text.length() - 1) {                     char next = text.charAt(i + 1);                     if (isLower(next) && isLower(ch)) {                         curr *= -1;                     } else if(!isLower(next) && !isLower(ch)){                         curr *= -1;                     }                 }             }         }         System.out.println(count);     }     private static boolean isLower(char ch) {         return ch >= 'a' && ch <= 'z';     } }
点赞 回复 分享
发布于 2019-08-24 22:13
一个true跟false写反了,一直0 ac,愣是没检查出来,我可能是个瞎子
点赞 回复 分享
发布于 2019-08-24 20:19
18%不知道为啥。。。
点赞 回复 分享
发布于 2019-08-24 20:05
0,我太难了
点赞 回复 分享
发布于 2019-08-24 20:08
放弃
点赞 回复 分享
发布于 2019-08-24 20:09
shift咋考虑的呀 
点赞 回复 分享
发布于 2019-08-24 20:12
36 一交卷就知道错哪儿了😤
点赞 回复 分享
发布于 2019-08-24 20:17
27。zz
点赞 回复 分享
发布于 2019-08-24 20:20
贪心法可以,100%ac
点赞 回复 分享
发布于 2019-08-24 21:02
package main import ( "fmt" ) func main() { var n int fmt.Scan(&n) var str string fmt.Scan(&str) is_capslocks := false count := 0 Rune := []rune(str) for i := 0; i < n; i++ { if Rune[i] >= 'A' && Rune[i] <= 'Z' { if is_capslocks == true { count++ } else { if Rune[i+1] >= 'A' && Rune[i+1] <= 'Z' { is_capslocks = !is_capslocks } count += 2 } } else { if is_capslocks == false { count++ } else { if Rune[i+1] >= 'a' && Rune[i+1] <= 'z' { is_capslocks = !is_capslocks } count += 2 } } } fmt.Println(count) }
点赞 回复 分享
发布于 2019-08-24 21:03
每串连续一样的算一组,按贪心的策略进行下去即可,因为当shift和lock方式按键数量一样时,一定是选择shift
点赞 回复 分享
发布于 2019-08-24 22:53
import sys    n = int(input()) S = str(input()) S_list = list(S)    lower_s = [chr(i) for i in range(97, 123)] upper_s = [chr(i) for i in range(65, 91)]    num = 0 u_bool = False  # True:当前输入法为大写 for i,s in enumerate(list(S_list)):     if s in lower_s:         if not u_bool:             num += 1           # 如果当前输入法为小写,输入一次字母         elif i < len(S_list) - 1:             if S_list[i + 1] in lower_s :                 num += 2       # 一次capslock,一次当前字母                 u_bool = False # 输入法切换为小写             else:                 num += 2       # 一次shift,一次当前字母         else:             num += 2           # 最后一个字母,不再检测下一个s        if s in upper_s:         if u_bool:             num += 1         elif i < len(S_list) - 1:             if S_list[i + 1] in upper_s:                 num += 2                 u_bool = True             else:                 num += 2         else:             num += 2 sys.stdout.write(str(num))
点赞 回复 分享
发布于 2019-08-25 01:24
AC200% https://www.nowcoder.com/discuss/232706
点赞 回复 分享
发布于 2019-08-25 01:27

相关推荐

评论
1
6
分享
正在热议
# 25届秋招总结 #
443331次浏览 4520人参与
# 春招别灰心,我们一人来一句鼓励 #
42187次浏览 537人参与
# 阿里云管培生offer #
120437次浏览 2220人参与
# 地方国企笔面经互助 #
7973次浏览 18人参与
# 同bg的你秋招战况如何? #
77166次浏览 569人参与
# 实习必须要去大厂吗? #
55811次浏览 961人参与
# 北方华创开奖 #
107471次浏览 600人参与
# 虾皮求职进展汇总 #
116310次浏览 887人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11683次浏览 289人参与
# 实习,投递多份简历没人回复怎么办 #
2454962次浏览 34861人参与
# 提前批简历挂麻了怎么办 #
149927次浏览 1978人参与
# 在找工作求抱抱 #
906096次浏览 9421人参与
# 如果公司给你放一天假,你会怎么度过? #
4762次浏览 55人参与
# 你投递的公司有几家约面了? #
33209次浏览 188人参与
# 投递实习岗位前的准备 #
1196037次浏览 18550人参与
# 机械人春招想让哪家公司来捞你? #
157648次浏览 2267人参与
# 双非本科求职如何逆袭 #
662384次浏览 7397人参与
# 发工资后,你做的第一件事是什么 #
12806次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35906次浏览 384人参与
# 简历中的项目经历要怎么写? #
86937次浏览 1516人参与
# 参加完秋招的机械人,还参加春招吗? #
20153次浏览 240人参与
# 我的上岸简历长这样 #
452074次浏览 8089人参与
牛客网
牛客企业服务