leetcode c語言
/
int twoSum(int* nums, int numsSize, int target)
{
int a=(int)malloc(2*sizeof(int));
int i,j;
for (i=0;i<numsSize;i++)
{
for(j=i+1;(j<numsSize)&&(j!=i);j++)
while(nums[i]+nums[j]==target)
{a[0]=nums[i];
a[1]=nums[j];
}
}
return a;
}
相關推薦
LeetCode:C語言 1.TwoSum
雖然本科電子資訊工程不教演算法一類的課程,但為了將來日常工作,決定開始自學一些演算法和資料結構知識。 就從LeetCode開始吧! 給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 例如:
LeetCode :C語言 7.反轉整數
題目:給定一個 32 位有符號整數,將整數中的數字進行反轉。 例如:321-->123 -321-->-123 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 [−231, 231 − 1]。根據這個假設,如果反轉後的整數溢
LeetCode :C語言 9.迴文數
迴文數簡而言之就是對稱的數(負數按題目要求不是),因為上一個題目是反轉整數很自然的就想到了直接反轉之後判斷。 bool isPalindrome(int x) { int out = 0,in = x; int temp; if(x<0)
LeetCode :C語言 13羅馬數字轉整數
這道題寫的時候思路也比較清晰,唯一有點困惑的是判斷字串的長度。(用了while迴圈來判斷。) int charToInt(char ch) { switch(ch) { case 'I':return 1; case 'V
leetcode c語言
Note: The returned array must be malloced, assume caller calls free(). / int twoSum(int* nums, int numsSize, int target) { int a=(int)malloc(2*sizeof(int))
leetcode C語言版 第142. 環形連結串列 II
給定一個連結串列,返回連結串列開始入環的第一個節點。 如果連結串列無環,則返回 null。說明:不允許修改給定的連結串列。進階:你是否可以不用額外空間解決此題?分析:我最開始想的是通過修改value值來判斷是否相遇,後來看見題目規定不能修改,遂涼涼。用快慢指標解答,至於為什麼
leetcode 2. 兩數相加 C語言版
struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) { struct ListNode* l = (struct ListNode*)malloc(sizeof(struct ListNode));
leetcode 4. 兩個排序陣列的中位數 C語言版
採用時間複雜度O(n),空間複雜度為O(1)的遍歷演算法: double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) { int i=nums1Size+nums2Size,j,
leetcode 1. 兩數之和 C語言版
首先是直接暴力法: 時間複雜度為O(n2),空間複雜度為O(1): int* twoSum(int* nums, int numsSize, int target) { int* a = (int*)malloc(sizeof(int) * 2); int i,j;
leetcode 19. 刪除連結串列的倒數第N個節點 C語言版
給定一個連結串列,刪除連結串列的倒數第 n 個節點,並且返回連結串列的頭結點。 示例: 給定一個連結串列: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,連結串列變為 1->2->3->5. 這個
LeetCode -- 50 Pow(x, n)(C語言版)
題目描述: 程式碼如下(附有詳解): double myPow(double x, int n) //如果n為零,表明冪數為0,直接返回1 if(n == 0) return 1; //如果n為零,表明冪數為0,直接返回x
leetcode 860. 檸檬水找零 C語言版
在檸檬水攤上,每一杯檸檬水的售價為 5 美元。 顧客排隊購買你的產品,(按賬單 bills 支付的順序)一次購買一杯。 每位顧客只買一杯檸檬水,然後向你付 5 美元、10 美元或 20 美元。你必須給每
leetcode 20. 有效的括號 C語言版
給定一個只包括 '(',')','{','}','[',']' 的字串,判斷字串是否有效。 有效字串需滿足: 左括號必須用相同型別的右括號閉合。 左括號必須以正確的順序閉合。 注意空字串可被認為是有效字串。 這個可以用一個棧來解決
leetcode 110. 平衡二叉樹 C語言版
給定一個二叉樹,判斷它是否是高度平衡的二叉樹。 本題中,一棵高度平衡二叉樹定義為: 一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。 示例 1: 給定二叉樹 [3,9,20,null,null,15,7] 3 / \
leetcode 141. 環形連結串列 C語言版
給定一個連結串列,判斷連結串列中是否有環。 bool hasCycle(struct ListNode *head) { struct ListNode *p = head,*q = head; if(p == NULL) return false; el
leetcode 20. 有效的括號 C語言
給定一個只包括 '(',')','{','}','[',']' 的字串,判斷字串是否有效。 有效字串需滿足: 左括號必須用相同型別的右括號閉合。 左括號必須以正確的順序閉合。 注意空字串可被認為是有效字串。 這個題目可以用輔助棧來
leetcode 495. 提莫攻擊 C語言版
在《英雄聯盟》的世界中,有一個叫 “提莫” 的英雄,他的攻擊可以讓敵方英雄艾希(編者注:寒冰射手)進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。 你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。 示例1: 輸入:
leetcode 101. 對稱二叉樹 C語言版
給定一個二叉樹,檢查它是否是映象對稱的。 例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面這個 [1,2,2,null,3,null,3] 則不是映
leetcode 136. 只出現一次的數字 C語言版
給定一個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例 1: 輸入: [2,2,1] 輸出: 1 示例 2: 輸入: [4,1,2,1
leetcode 100. 相同的樹 C語言版
給定兩個二叉樹,編寫一個函式來檢驗它們是否相同。 如果兩個樹在結構上相同,並且節點具有相同的值,則認為它們是相同的。 示例 1: 輸入: 1 1 / \ / \ 2 3 2 3