网站建设推广型百度网址大全导航首页
news/
2025/10/2 16:17:53/
文章来源:
网站建设推广型,百度网址大全导航首页,小程序制作开发,广州高端网站设计公司排名822.翻转卡片游戏
在桌子上有 n 张卡片#xff0c;每张卡片的正面和背面都写着一个正数#xff08;正面与背面上的数有可能不一样#xff09;。 我们可以先翻转任意张卡片#xff0c;然后选择其中一张卡片。 如果选中的那张卡片背面的数字 x 与任意一张卡片的正面的数字都…822.翻转卡片游戏
在桌子上有 n 张卡片每张卡片的正面和背面都写着一个正数正面与背面上的数有可能不一样。 我们可以先翻转任意张卡片然后选择其中一张卡片。 如果选中的那张卡片背面的数字 x 与任意一张卡片的正面的数字都不同那么这个数字是我们想要的数字。 哪个数是这些想要的数字中最小的数找到这些数中的最小值呢如果没有一个数字符合要求的输出 0 。 其中, fronts[i] 和 backs[i] 分别代表第 i 张卡片的正面和背面的数字。 如果我们通过翻转卡片来交换正面与背面上的数那么当初在正面的数就变成背面的数背面的数就变成正面的数。 首先可以翻转任意卡片如何正和反可以相同也可以不同如果相同翻转就没有意义。 这时候选定的数不可能和正反同的数一样。 其他都有可能吗如果正反不同那么选的这个数就一定有一个不同我们就可以通过翻转来满足要求。 这时候思路就出来了。 class Solution {public int flipgame(int[] fronts, int[] backs) {int n fronts.length;HashSetInteger same new HashSet();for (int i 0; i n; i) {if (fronts[i] backs[i]) {same.add(fronts[i]);}}int ans 2001;for (int i 0; i n; i) {if (fronts[i] ans !same.contains(fronts[i])) {ans Math.min(ans, fronts[i]);}if (backs[i] ans !same.contains(backs[i])) {ans Math.min(ans, backs[i]);}}return ans % 2001;}
}344. 反转字符串
最近学到一种新的交换方式使用异或来进行数据交换。 public void reverseString(char[] s) {int i 0,j s.length-1;while(i j){s[i] ^ s[j];s[j] ^ s[i];s[i] ^ s[j];i;j--;}}顺带345.反转字符串中的元音字母 public String reverseVowels(String s) {int i 0,j s.length() - 1;char[] chars s.toCharArray();while(i j){while(i j isVowel(chars[i])){i;}while(i j isVowel(chars[j])){j--;}if(i j){chars[i] ^ chars[j];chars[j] ^ chars[i];chars[i] ^ chars[j];}i;j--;}return new String(chars);}private boolean isVowel(char c) {return aeiouAEIOU.indexOf(c) 0;}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/925074.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!