最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java解決刪除字符使頻率相同問題

 更新時間:2024年02月18日 09:20:03   作者:宣布無人罪  
給你一個下標從0開始的字符串 word ,字符串只包含小寫英文字母,你需要選擇一個下標并刪除下標處的字符,使得word中剩余每個字母出現頻率相同,本文給大家介紹了Java解決刪除字符使頻率相同問題,需要的朋友可以參考下

Java解決刪除字符使頻率相同問題

01 題目

給你一個下標從 0 開始的字符串 word ,字符串只包含小寫英文字母。你需要選擇 一個 下標并 刪除 下標處的字符,使得 word 中剩余每個字母出現 頻率 相同。

如果刪除一個字母后,word 中剩余所有字母的出現頻率都相同,那么返回 true ,否則返回 false 。

注意:

  • 字母 x 的 頻率 是這個字母在字符串中出現的次數。
  • 你 必須 恰好刪除一個字母,不能一個字母都不刪除。

示例 1:

輸入:word = "abcc"
輸出:true
解釋:選擇下標 3 并刪除該字母:word 變成 "abc" 且每個字母出現頻率都為 1 。

示例 2:

輸入:word = "aazz"
輸出:false
解釋:我們必須刪除一個字母,所以要么 "a" 的頻率變?yōu)?1 且 "z" 的頻率為 2 ,要么兩個字母頻率反過來。所以不可能讓剩余所有字母出現頻率相同。

提示:

  • 2 <= word.length <= 100
  • word 只包含小寫英文字母。

02 知識點

  • 雙重循環(huán)
  • 哈希表set

03 我的解題思路

public class shuzu02 {
	public static void main(String[] args) {
//		測試數據
		String word = "aazz";
		System.out.println(equalFrequency(word));
		
	}
	 public static boolean equalFrequency(String word) {
//		 先循環(huán)整個字符串,并記錄每個字符出現的頻率
		 char[] chars=word.toCharArray();
		 int[] nums=new int[26]; 
		 for (int i = 0; i < chars.length; i++) {
			nums[chars[i]-'a']++;
		}
//		 雙重循環(huán)整個頻率記錄數組,思路是找到題設的題解(即字符只有兩種頻率,頻率高的字符需且僅需減一就等于頻率低的字符頻率)
		for (int i = 0; i < 26; i++) {
//			遍歷整個數組,頻率為零則直接重新循環(huán),字符串長度大于等于2,只有字符串長度等于1時符合題設
			if (nums[i]==0) {
				continue;
			}
//			頻率高的字符需且僅需減一,減一后若符合題解,整個數組頻率相同
			nums[i]--;
			HashSet<Integer> setsHashSet=new HashSet<Integer>();
//			再次循環(huán)整個數組,利用HashSet內元素不重復的特點
			for (int j = 0; j < 26; j++) {
				if (nums[j]>0) {
					setsHashSet.add(nums[j]);
				}
			}
//			若HashSet內元素數量為1,則整個數組頻率相同,符合題設
			if (setsHashSet.size()==1) {
				return true;
			}
//			不符合題設要把值改回原來,繼續(xù)循環(huán)
			nums[i]++;	
		}
//		循環(huán)后找不到符合題解,符合false
		 return false;
	    }
}

到此這篇關于Java解決刪除字符使頻率相同問題的文章就介紹到這了,更多相關Java刪除字符頻率相同內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java?報錯?java.util.ConcurrentModificationException:?null?的原因及解決方案

    Java?報錯?java.util.ConcurrentModificationException:?null?

    這篇文章主要介紹了Java?報錯?java.util.ConcurrentModificationException:?null?的原因和解決方案,這個異常通常在多線程環(huán)境下出現,意味著在迭代過程中,集合或者映射的結構發(fā)生了變化,本文分享完美解決方案,需要的朋友可以參考下
    2023-07-07
  • IDEA安裝lombok插件設置Enable Annotation Processing后編譯依然報錯解決方法

    IDEA安裝lombok插件設置Enable Annotation Processing后編譯依然報錯解決方法

    這篇文章主要介紹了IDEA安裝lombok插件設置Enable Annotation Processing后編譯依然報錯解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • Go Java算法之K個重復字符最長子串詳解

    Go Java算法之K個重復字符最長子串詳解

    這篇文章主要為大家介紹了Go Java算法之K個重復字符最長子串詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • java實現停車場系統(tǒng)

    java實現停車場系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現停車場系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Java實現網頁截屏功能及圖片下載功能的幾種方式

    Java實現網頁截屏功能及圖片下載功能的幾種方式

    在現代Web開發(fā)中,有時我們需要對特定的網頁進行截屏或者從網頁中下載圖片,本文將介紹如何使用Java實現這兩種功能,我們將探討幾種不同的方法,包括使用Selenium?WebDriver、Jsoup和Apache?HttpClient等工具,需要的朋友可以參考下
    2025-08-08
  • Spring整合多數據源實現動態(tài)切換的實例講解

    Spring整合多數據源實現動態(tài)切換的實例講解

    下面小編就為大家?guī)硪黄猄pring整合多數據源實現動態(tài)切換的實例講解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • java連接Access數據庫的方法

    java連接Access數據庫的方法

    這篇文章主要為大家詳細介紹了java連接Access數據庫的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Quartz集群原理以及配置應用的方法詳解

    Quartz集群原理以及配置應用的方法詳解

    Quartz是Java領域最著名的開源任務調度工具。Quartz提供了極為廣泛的特性如持久化任務,集群和分布式任務等,下面這篇文章主要給大家介紹了關于Quartz集群原理以及配置應用的相關資料,需要的朋友可以參考下
    2018-05-05
  • MAC?在類路徑或引導類路徑中找不到程序包?java.lang問題

    MAC?在類路徑或引導類路徑中找不到程序包?java.lang問題

    這篇文章主要介紹了MAC?在類路徑或引導類路徑中找不到程序包?java.lang問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Spring?Boot?集成并開發(fā)?Sa-token示例詳解

    Spring?Boot?集成并開發(fā)?Sa-token示例詳解

    Sa-token是一款高可用的權限認證框架,他帶我們用最簡化的配置完成用?spring?security?需要進行大量配置的才能完成的工作,這篇文章主要介紹了Spring?Boot?集成并開發(fā)?Sa-token,需要的朋友可以參考下
    2023-06-06

最新評論

兴隆县| 井冈山市| 四子王旗| 西林县| 齐齐哈尔市| 无为县| 图木舒克市| 邛崃市| 民乐县| 同德县| 沅陵县| 徐汇区| 股票| 宜黄县| 夏邑县| 略阳县| 龙口市| 黄梅县| 从化市| 青铜峡市| 二连浩特市| 青铜峡市| 尉氏县| 辽阳县| 临颍县| 读书| 光泽县| 定陶县| 武陟县| 兴城市| 天镇县| 瑞昌市| 青州市| 如皋市| 临城县| 彩票| 宜君县| 绍兴市| 海安县| 科技| 泸水县|