Re: [閒聊] 每日leetcode

看板Marginalman作者 (神楽めあ的錢包)時間1年前 (2024/09/15 20:04), 編輯推噓2(202)
留言4則, 3人參與, 1年前最新討論串862/1554 (看更多)
1371. Find the Longest Substring Containing Vowels in Even Counts 就給一個字串s 請回傳最長的子字串的長度 該子字串內所有母音出現的次數都是偶數 母音有a、e、i、o、u 思路: 假設num=0 當你遇到母音 a : num ^= 1 e : num ^= 2 i : num ^= 4 o : num ^= 8 u : num ^= 16 並且記錄每個num值第一次出現的位置 這樣就可以知道那些子字串裡母音出現的次數是偶數了 c code : #define max(x,y) (x>y? x:y) int findTheLongestSubstring(char* s) { int *rec=(int*)(calloc(32,sizeof(int))),n=strlen(s),res=0; char xor =0 ; rec[0]=-1; for (int i=1;i<32;i++){ rec[i]=-2; } for (int i=0;i<n;i++){ switch (s[i]){ case 97 : xor ^= 1 ; break; case 101 : xor ^= 2 ; break; case 105 : xor ^= 4 ; break; case 111 : xor ^= 8 ; break; case 117 : xor ^= 16 ; break; } if (rec[(int)(xor)]==-2){ rec[(int)(xor)]=i; } else { res=max(res,(i-rec[(int)(xor)])); } } return res; } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.162.52 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1726401870.A.946.html

09/15 20:06, 1年前 , 1F
送我模型
09/15 20:06, 1F

09/15 20:06, 1年前 , 2F
ok
09/15 20:06, 2F

09/15 20:08, 1年前 , 3F
幫我去面試
09/15 20:08, 3F

09/15 20:10, 1年前 , 4F
ok
09/15 20:10, 4F
文章代碼(AID): #1cvirEb6 (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1cvirEb6 (Marginalman)