摘要:
class Solution { public int countBinarySubstrings(String s) { //定义 last变量 代表 前一种数字的数量 int last = 0; //定义 cur变量 代表 当前数字的数量 int cur = 1; //定义 res变量,统计结果 阅读全文
摘要:
class Solution { public boolean isPalindrome(int x) { //边界判断 //首先X不能为负, 0可以是回文数,如果最后一位为0,那么要求X第一位也为0,这显然是不可能的 if(x < 0 || (x % 10 == 0 && x != 0)) ret 阅读全文
摘要:
//中心拓展法 class Solution { public int countSubstrings(String s) { //定义一个变量 统计有多少个回文子串 int res = 0; //定义回文子串的中心点,可能是一个,也可能是2个 比如aba、abba //这里为什么是 2 * s.l 阅读全文
摘要:
//回文串,偶数个的字符可够成回文串,然后最中间的字符可为奇数个 class Solution { public int longestPalindrome(String s) { //定义一个大小写字母的计数器,统计每个字母出现的次数 int[] count = new int[128]; //遍 阅读全文
摘要:
//方法一,排序,将字符串s、t 分别按字母的升降序排序,比较s、t是否相等 //方法二,使用哈希表 class Solution { public boolean isAnagram(String s, String t) { //如果俩个字符串长度不等,直接返回 if(s.length() != 阅读全文
摘要:
当我按照官方的思路写出代码,提交后并未通过,查看错误,发现算法错误的将[2147483647,-2147483648]也视为连续的整数了,这是因为我没有考虑到int类型的边界。将代码稍加修改,即成功提交 //哈希表,建议看官方的题解,尤其是演示动画 class Solution { public i 阅读全文
摘要:
//通过哈希表来查重 class Solution { public boolean containsDuplicate(int[] nums) { Set<Integer> set = new HashSet<>(); for(int i = 0;i < nums.length;i++){ if( 阅读全文
摘要:
class Solution { public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> hashmap = new HashMap<>(); int n = nums.length; for(int i = 0; i < 阅读全文
摘要:
class Solution { public int[] nextGreaterElements(int[] nums) { //结果集 int len = nums.length; int[] res = new int[len]; Arrays.fill(res,-1); //栈,保存下标 S 阅读全文
摘要:
//暴力法 // class Solution { // public int[] dailyTemperatures(int[] T) { // // // int n = T.length; // int [] end = new int[n]; // for(int i = 0;i < n; 阅读全文